# 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` |