Woolyvard Developer Dashboard
Create your API key to start using the Woolyvard API.
Woolyvard API Documentation
https://woolyvard.com/wp-json/woolyvard/v1/Required Headers
- Authorization:
Bearer [JWT Token] - X-API-Key:
your-api-key-here
API keys can be created and managed through the Developer Dashboard:
Important Notes:
- JWT tokens are required for all authenticated endpoints
- Tokens expire after 5 days
- API keys should be kept secure and never shared publicly
Authentication Endpoints
Login
Endpoint: POST /custom-login
Parameters:
log(string) — Username or emailpwd(string) — Passwordrememberme(boolean) — 1 or 0
Response: JSON with success status and redirect URL.
Register
Endpoint: POST /register-new-user
Parameters:
username(string) — Desired usernameemail(string) — User’s emailpassword(string) — Desired password
Response: JSON with success status and redirect URL.
Check Login Status
Endpoint: POST /check-user-login
Response: JSON with login status.
Post Check Login Status
Endpoint: POST /post-check-logged-in
Response: JSON with login status.
User Profile Endpoints
Get User Profile
Endpoint: POST /get-user-profile-info
Response: JSON with user profile data (name, display name, profile picture).
Get Library User Profile
Endpoint: POST /lp-get-user-profile
Response: JSON with user profile data for the library page.
Notification Endpoints
Get Unread Notifications Count
Endpoint: POST /get-unread-notifications
Response: JSON with the count of unread notifications.
Get User Notifications
Endpoint: POST /get-notifications-by-user
Response: JSON with the user’s notifications.
Post Management Endpoints
Submit Audio Post
Endpoint: POST /submit-audio-post
Parameters:
headline(string) — Post titlelocation(string) — Location nameoutlet_id(integer) — ID of the outlet/storycircleaudio(file) — Audio file (multipart/form-data)
Response: JSON with post ID and success status.
Submit Full Audio Post
Endpoint: POST /submit-audio-post-full
Parameters:
headline(string) — Post titlelocation(string) — Location nameoutlet_id(integer) — ID of the outlet/storycircleaudio(file) — Audio file (multipart/form-data)
Response: JSON with post ID and success status.
Submit Audio Post to Outlet
Endpoint: POST /submit-audio-post-full-outlet
Parameters:
headline(string) — Post titlelocation(string) — Location nameoutlet_id(integer) — ID of the outlet/storycircleaudio(file) — Audio file (multipart/form-data)
Response: JSON with post ID and success status.
Get Post by ID
Endpoint: GET /get-post-by-id
Parameters:
post_id(integer) — ID of the post
Response: JSON with post details.
Get Post Replies
Endpoint: POST /fetch-replies
Parameters:
post_id(integer) — ID of the post
Response: JSON with reply data.
Toggle Post Like
Endpoint: POST /toggle-post-like
Parameters:
post_id(integer) — ID of the post
Response: JSON with updated like status.
Log Post Share
Endpoint: POST /log-post-share
Parameters:
post_id(integer) — ID of the post
Response: JSON with success status.
Update User Activity
Endpoint: POST /update-user-activity
Parameters:
post_id(integer) — ID of the poststatus(string) — Activity status (“ended”, “seen”)
Response: JSON with success status.
Post Retrieval Endpoints
Get Paginated Similar User Posts
Endpoint: GET /get-paginated-similar-user-posts
Parameters:
offset(integer)limit(integer)
Response: JSON with post data.
Get Paginated Posts with New Post
Endpoint: GET /get-paginated-posts-new-post
Parameters:
offset(integer)limit(integer)
Response: JSON with post data.
Get Outlet Posts
Endpoint: GET /get-outlet-posts
Parameters:
offset(integer)limit(integer)outlet_id(integer)
Response: JSON with post data.
Get City Posts
Endpoint: POST /get-city-posts
Parameters:
city(string) — City name
Response: JSON with post data.
Load Explore Posts
Endpoint: POST /enp-load-posts
Response: JSON with post data.
Search Posts
Endpoint: POST /enp-search-posts
Parameters:
search(string) — Search query
Response: JSON with search results.
Get Trending Posts
Endpoint: GET /get-trending-posts
Response: JSON with trending posts.
Outlet/Storycircle Management Endpoints
Create Outlet
Endpoint: POST /insert-outlet
Parameters:
name(string) — Outlet/storycircle namedescription(string)location(string)privacy(string) — (“public”, “restricted”, “private”)cover_photo(string, optional)profile_picture(string, optional)
Response: JSON with new outlet ID.
Get User’s Outlets
Endpoint: POST /get-outlets-by-user
Response: JSON with user’s outlets.
Get Outlets by Location
Endpoint: POST /get-outlets-by-location
Parameters:
location(string)
Response: JSON with outlets for the location.
Fetch Outlet Data
Endpoint: POST /fetch-outlet-data
Parameters:
outlet(integer) — Outlet ID
Response: JSON with outlet details.
Load Outlet Posts
Endpoint: POST /op-load-posts
Parameters:
outlet_id(integer)
Response: JSON with outlet posts.
Get Buzzing Outlets
Endpoint: GET /get-buzzing-outlets
Response: JSON with popular outlets.
Subscription Endpoints
Toggle Subscription
Endpoint: POST /toggle-subscription
Parameters:
seller_id(integer) — ID of the outlet
Response: JSON with subscription status.
Get Subscriptions
Endpoint: POST /get-subscriptions
Parameters:
tab_type(string) — “subscribed” or “subscribers”
Response: JSON with subscription data.
Contributor Management Endpoints
Toggle Contributor Status
Endpoint: POST /toggle-contributor
Parameters:
target_id(integer) — Target outlet ID
Response: JSON with contributor status.
Get Contributors
Endpoint: POST /get-contributors
Parameters:
tab_type(string) — “contributors”, “requests”, or “pending”
Response: JSON with contributor data.
Get Likes by User
Endpoint: POST /get-likes-by-user
Response: JSON with posts liked by the user.
Get All Locations
Endpoint: GET /get-all-locations
Parameters: None
Response: JSON array of all rows in the current_locations table.
Get Terms and Conditions
Endpoint: GET /get-terms-and-conditions
Parameters: None
Response: JSON array of all rows in the terms_and_conditions table. (Defaults to returning current version if filtered by is_current = 1)
Get Privacy Policy
Endpoint: GET /get-privacy-policy
Parameters: None
Response: JSON array of all rows in the privacy_policy table. (Defaults to returning current version where is_current = 1)
Get Pending Invites
Endpoint: GET /get-pending-invites
Parameters: None
Response: JSON with invite data including outlet details
Accept Invite
Endpoint: POST /accept-invite
Parameters:
- invite_id (integer) — ID of the invite to accept
Response: JSON with success status, outlet name, and outlet ID
Delete Invite
Endpoint: POST /delete-invite
Parameters:
- invite_id (integer) — ID of the invite to delete
Response: JSON with success status and outlet name
Delete Contributor
Endpoint: POST /delete-contributor
Parameters:
- contributor_id (integer) — ID of the contributor entry to delete
Response: JSON with success status, outlet name, and contributor name
Approve Contributor
Endpoint: POST /approve-contributor
Parameters:
- contributor_id (integer) — ID of the contributor entry to approve
Response: JSON with success status, contributor name, and outlet name