# List authors Source: https://apidocs.neetopublish.com/api-reference-v1/authors/list bundled-v1/authors.yaml GET /authors This API allows to get a list of all authors. **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Get blog Source: https://apidocs.neetopublish.com/api-reference-v1/blogs/get bundled-v1/blogs.yaml GET /blog_posts/{slug} This API allows to fetch blog details. **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# List blogs Source: https://apidocs.neetopublish.com/api-reference-v1/blogs/list bundled-v1/blogs.yaml GET /blog_posts This API allows to list all the blogs in a workspace. **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# List blog slugs Source: https://apidocs.neetopublish.com/api-reference-v1/blogs/list-slugs bundled-v1/blogs.yaml GET /blog_posts/list_slugs This API allows to get a list of all blog post [slugs](https://www.semrush.com/blog/what-is-a-url-slug/). **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Add subscriber Source: https://apidocs.neetopublish.com/api-reference-v1/subscribers/add bundled-v1/subscribers.yaml POST /email_subscriptions Add a new email subscriber. **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Add team members Source: https://apidocs.neetopublish.com/api-reference-v1/team-members/add bundled-v1/team-members.yaml POST /team_members Add team members to the workspace. **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# List team members Source: https://apidocs.neetopublish.com/api-reference-v1/team-members/list bundled-v1/team-members.yaml GET /team_members List team members in the workspace. **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Remove team member Source: https://apidocs.neetopublish.com/api-reference-v1/team-members/remove bundled-v1/team-members.yaml DELETE /team_members/{team_member_id} Remove team members from the workspace. **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Update team member Source: https://apidocs.neetopublish.com/api-reference-v1/team-members/update bundled-v1/team-members.yaml PATCH /team_members/{team_member_id} Update a team member. **Deprecated:** This is a **v1** endpoint. It will continue to work, but we recommend migrating to the [v2 equivalent](/api) for improved REST compliance (correct HTTP status codes, consistent response envelopes, and hyphenated URLs). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Authentication Source: https://apidocs.neetopublish.com/api/authentication Learn how to authenticate your requests to the NeetoPublish API using API keys. ### Generating an API Key To use the NeetoPublish APIs, you must first generate an API key: 1. Go to the **Admin panel** and click **API keys**. 2. Click **Add API key**. The **Add new API key** pane opens. 3. Enter a **Name** for the key. 4. Pick an **Expiry date**, or check **Never expires**. 5. Click **Save changes**. 6. Copy the key from the **API keys** list using the copy icon. The key stays in the list, so you can copy it again later. [Learn more about API keys here.](https://help.neetopublish.com/articles/api-keys) ### Making Authenticated API Requests To authenticate your API requests, include a valid API key in the X-Api-Key header. ```bash theme={"system"} curl https://{your-subdomain}.neetopublish.com/api/external/v2/team-members \ -H 'X-Api-Key: your-api-key' \ -H 'Content-Type: application/json' ``` ### Header Format Include your API key in the `X-Api-Key` header of every request: ```http theme={"system"} X-Api-Key: your_api_key_here ``` Generate separate API keys for different workspaces. An API key generated in one workspace will not work in another. API keys provide access to sensitive data. Treat them like passwords and follow security best practices. ## Error Responses ### 401 Unauthorized If your API key is missing, invalid, or expired, you'll receive a 401 error: ```json theme={"system"} { "error": "Could not authenticate, invalid API Key" } ``` ### Common Authentication Issues **Problem**: API key is missing or invalid
**Solution**: Verify your API key is correct and hasn't been revoked/expired
**Problem**: Subdomain is left as the default value (**spinkart**) or incorrect
**Solution**: Verify your subdomain name is properly added in the request URL
# List authors Source: https://apidocs.neetopublish.com/api/authors/list bundled/authors.yaml GET /authors This API allows to get a list of all authors. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Get blog Source: https://apidocs.neetopublish.com/api/blogs/get bundled/blogs.yaml GET /blog-posts/{slug} This API allows to fetch blog details. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# List blogs Source: https://apidocs.neetopublish.com/api/blogs/list bundled/blogs.yaml GET /blog-posts This API allows to list all the blogs in a workspace. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# List blog slugs Source: https://apidocs.neetopublish.com/api/blogs/list-slugs bundled/blogs.yaml GET /blog-posts/slugs This API allows to get a list of all blog post [slugs](https://www.semrush.com/blog/what-is-a-url-slug/). Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Introduction Source: https://apidocs.neetopublish.com/api/introduction Welcome to the NeetoPublish API documentation. The NeetoPublish API is organized around REST principles and uses standard HTTP response codes. All API endpoints return JSON responses and require authentication. Before you start with NeetoPublish APIs you will need the following: 1. [Workspace subdomain](/api/workspace-subdomain). 2. [API key](/api/authentication). ## Rate Limiting API requests are subject to rate limiting to ensure fair use. If you exceed the rate limit, you'll receive a 429 response. If you encounter this error try again after some time. ## Need help? Visit our [help center](https://help.neetopublish.com), email us at [support@neetopublish.com](mailto:support@neetopublish.com), or join the [Neeto Community](https://neeto.com/community). The community is powered by Slack and is the fastest way to get help directly from the developers, designers, and product folks building NeetoPublish. # Pagination Source: https://apidocs.neetopublish.com/api/pagination Learn how to handle paginated responses in the NeetoPublish API. ## Pagination Parameters You can control pagination using the following query parameters: The page of results you want to retrieve (starting from 1) The number of items to return per page ## Example Usage Here's how to retrieve paginated results using cURL: ```bash cURL theme={"system"} curl --request GET \ --url "https://{your-subdomain}.neetopublish.com/api/external/v2/team-members?page_number=2&page_size=25" \ --header 'X-Api-Key: your-api-key' ``` ```javascript JavaScript theme={"system"} const response = await fetch('https://{your-subdomain}.neetopublish.com/api/external/v2/team-members?page_number=2&page_size=25', { method: 'GET', headers: { 'X-Api-Key': 'your-api-key', 'Content-Type': 'application/json' } }); const data = await response.json(); console.log(data); ``` ```python Python theme={"system"} import requests url = "https://{your-subdomain}.neetopublish.com/api/external/v2/team-members" params = { "page_number": 2, "page_size": 25 } headers = { "X-Api-Key": "your-api-key", "Content-Type": "application/json" } response = requests.get(url, params=params, headers=headers) data = response.json() print(data) ``` This retrieves the second page of team members, with 25 results per page. ## Response Structure Paginated responses include metadata about the pagination in JSON format: ```json Response Example theme={"system"} { "team_members": [ // ... array of team member objects ], "pagination": { "total_records": 150, "total_pages": 6, "current_page": 2, "page_size": 25 } } ``` The total number of items across all pages The current page number (if pagination was used) The total number of pages available (if pagination was used) The number of items per page ## Default Behavior If pagination parameters are not provided, default values will be applied: * **page\_number**: 1 (first page) * **page\_size**: 30 (30 items per page) ## Best Practices 1. **Start with reasonable page sizes**: Use page sizes between 10-100 items for optimal performance. 2. **Handle empty results**: Always check if the returned array is empty to detect the end of data. 3. **Use total\_records**: Use the `pagination.total_records` field to calculate the total number of pages needed. 4. **Implement error handling**: Handle cases where the requested page doesn't exist. # HTTP Response Codes Source: https://apidocs.neetopublish.com/api/response-codes Learn about the HTTP status codes returned by the API. ## Success Codes The request was successful and the server returned the requested data. The request was successful and a new resource was created. Returned for POST requests that create new resources. The request was successful but there is no content to return. Typically returned for DELETE operations. ## Error codes There was an issue with the request. This usually indicates malformed JSON, missing required parameters, or invalid parameter values. The request needs to be authenticated. This typically means: - Missing API key - Invalid API key - Expired API key An operation was not allowed. This could mean: - Insufficient permissions for the requested action - Attempting to access a resource you don't own - API key doesn't have the required scope The requested URL or resource was not found. This could indicate: - Incorrect endpoint URL - Resource ID doesn't exist - Workspace subdomain is incorrect The given request could not be processed by the server due to malformed request. Check the request body once again. Rate limit exceeded. Try again after some time. An unexpected error occurred on the server. If this persists, please contact support. The server does not support the functionality required to fulfill the request. ## Error Response Format When an error occurs, the API returns a JSON response with error details: ```json 401 Unauthorized theme={"system"} { "error": "Could not authenticate, invalid API Key" } ``` A human-readable error message. When debugging API issues, the HTTP status code often provides the first clue about what went wrong. Start by checking the status code before diving into the response body. # Add subscriber Source: https://apidocs.neetopublish.com/api/subscribers/add bundled/subscribers.yaml POST /email-subscriptions Add a new email subscriber. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Add team members Source: https://apidocs.neetopublish.com/api/team-members/add bundled/team-members.yaml POST /team-members This API allows to add team members in the workspace. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Get team member Source: https://apidocs.neetopublish.com/api/team-members/get bundled/team-members.yaml GET /team-members/{team_member_id} Retrieves details of a specific team member. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# List team members Source: https://apidocs.neetopublish.com/api/team-members/list bundled/team-members.yaml GET /team-members This API allows to list all team members in the workspace. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Remove team member Source: https://apidocs.neetopublish.com/api/team-members/remove bundled/team-members.yaml DELETE /team-members/{team_member_id} Remove team members from the workspace. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Update team member Source: https://apidocs.neetopublish.com/api/team-members/update bundled/team-members.yaml PATCH /team-members/{team_member_id} This API allows to update the details of a team member in the organization. Replace `{your-subdomain}` with your workspace's subdomain.
Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).
# Workspace subdomain Source: https://apidocs.neetopublish.com/api/workspace-subdomain Learn how to find your workspace subdomain. ## What is a Subdomain? A subdomain is the part of your workspace URL that comes before the main domain. For example, in the URL: ``` https://spinkart.neetopublish.com ``` **spinkart** is the subdomain. This subdomain is crucial for making API requests, as it identifies your specific workspace within NeetoPublish. ## Step-by-Step Instructions You can usually find this in your browser's address bar when logged into your workspace. Example: ``` https://your-subdomain.neetopublish.com ``` Our main domain is: `neetopublish.com` Everything before `neetopublish.com` is your subdomain. **Example:** * URL: `https://green-earth.neetopublish.com` * Subdomain: `green-earth` ## Using Your Subdomain in API Requests Once you've identified your subdomain, you'll use it in all API requests. The base URL format is: ``` https://{your-subdomain}.neetopublish.com/api/external/v2 ``` For example, if your subdomain is `mycompany`, your API base URL would be: ``` https://mycompany.neetopublish.com/api/external/v2 ``` ## Common Examples Here are some common subdomain patterns: | Type | Example URL | Subdomain | | - | - | - | | Company | `https://acmecorp.neetopublish.com` | `acmecorp` | | Department | `https://marketing.neetopublish.com` | `marketing` | | Project | `https://product-launch.neetopublish.com` | `product-launch` |