Introduction
Ruhline API — authentication and role-based access for customers, admins, staff, and coaches, plus public catalogs, checkout, enrollments, reviews, disputes, and payouts.
Welcome to the Ruhline API documentation. This API provides authentication and role-based access for customers, admins, and coaches, along with public guest endpoints.
- **Customer**: Auth under `/api/v1/auth/customer/*`; after purchase, enrollments and session scheduling under `/api/v1/customer/*` (Sanctum + `role:customer`).
- **Admin**: Staff auth under `/api/v1/auth/admin/*`; dashboard summary at `/api/v1/admin/dashboard`; CRUD and CMS under `/api/v1/admin/{module}` (Sanctum + `role:admin`). Auth-only profile routes also live under `/api/v1/admin/*` from the Auth module.
- **Coach**: Auth under `/api/v1/auth/coach/*`; coach portal APIs under `/api/v1/coach/{module}` (Sanctum + `role:coach`).
- **Guest (no auth)**: Program catalog at `/api/v1/programs/*`, coach directory at `/api/v1/coaches/*`, plus other public v1 module routes mounted as documented per group.
**Checkout** (customer) uses `/api/v1/checkout/*`. Admin order management uses `/api/v1/admin/orders/*`. **Disputes** exist for customers (`/api/v1/dispute/*`), coaches (`/api/v1/coach/dispute/*`), and admins (`/api/v1/admin/dispute/*`). **Payouts**: coach listing at `/api/v1/payout/*`, admin management at `/api/v1/admin/payout/*`.
## Authentication
The API uses Laravel Sanctum for token-based authentication. After successful login, include the access token in the `Authorization` header for protected routes:
```
Authorization: Bearer {your-token-here}
```
## Base URL
API routes are served under the `api` prefix (typically `/api/...`). Versioned modules use `/api/v1/...` unless noted otherwise.
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_TOKEN}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by logging in through the authentication endpoints. Include the token in the Authorization header as: Bearer {your-token-here}
Customer Authentication
APIs for customer authentication, registration, and password management.
Register a new customer
Register a new customer account. After registration, a verification email will be sent to the provided email address. The customer must verify their email before they can log in.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"john.doe@example.com\",
\"password\": \"password123\",
\"terms_accepted\": true,
\"password_confirmation\": \"password123\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"password": "password123",
"terms_accepted": true,
"password_confirmation": "password123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"success": true,
"message": "Customer registered successfully. Please check your email to verify your account.",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"email_verified_at": null,
"roles": [
"customer"
]
},
"message": "Registration successful. Please verify your email address before logging in."
}
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"email": [
"This email address is already registered."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login customer
Authenticate a customer and return an access token. The customer must have verified their email address before logging in.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@example.com\",
\"password\": \"password123\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@example.com",
"password": "password123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Login successful",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"email_verified_at": "2025-01-20T17:25:00+00:00",
"roles": [
"customer"
],
"profile": {
"phone": "1234567890",
"phone_country_code": {
"id": 1,
"phone_code": "+1",
"intl_dialing_prefix": "1"
},
"address_line_1": "123 Main Street",
"address_line_2": "Apt 4B",
"landmark": "Near Central Park",
"country": {
"id": 1,
"name": "United States"
},
"state": {
"id": 1,
"name": "New York"
},
"city": {
"id": 1,
"name": "New York City"
},
"postal_code": "12345",
"profile_image": "http://example.com/storage/customer-profiles/image.jpg"
}
},
"token": "1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
Example response (422):
{
"success": false,
"message": "Please verify your email address before logging in. Check your inbox for the verification link.",
"errors": {
"email": [
"Please verify your email address before logging in. Check your inbox for the verification link."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Forgot password
Send a password reset link to the customer's email address. The link will be sent to the frontend URL configured in the system.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/forgot-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@example.com\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/forgot-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "If a customer account exists with that email, we have sent a password reset link.",
"data": {
"message": "If a customer account exists with that email, we have sent a password reset link.",
"frontend_url": "http://localhost:3000"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reset password
Reset the customer's password using the token received in the password reset email.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/reset-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"abc123...\",
\"email\": \"john.doe@example.com\",
\"password\": \"newpassword123\",
\"password_confirmation\": \"newpassword123\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/reset-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "abc123...",
"email": "john.doe@example.com",
"password": "newpassword123",
"password_confirmation": "newpassword123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Password has been reset successfully. You can now login with your new password.",
"data": {
"message": "Password has been reset successfully. You can now login with your new password."
}
}
Example response (400):
{
"success": false,
"message": "Invalid or expired reset token."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify email address (POST)
Verify a customer's email address using the verification parameters from the email link. This endpoint is designed for frontend applications to call after extracting parameters from the verification URL.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/email/verify" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"hash\": \"abc123...\",
\"expires\": 1234567890,
\"signature\": \"xyz789...\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/email/verify"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"hash": "abc123...",
"expires": 1234567890,
"signature": "xyz789..."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Email verified successfully. You can now log in.",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"email": "john.doe@example.com",
"email_verified_at": "2025-01-20T17:25:00+00:00",
"roles": [
"customer"
]
},
"already_verified": false
}
}
Example response (403):
{
"success": false,
"message": "Invalid or expired verification link."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify email address (GET)
Verify a customer's email address via direct link access. This endpoint is used when clicking the verification link directly.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/auth/customer/email/verify/1/abc123..." \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/email/verify/1/abc123..."
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Email verified successfully. You can now log in.",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"email": "john.doe@example.com",
"email_verified_at": "2025-01-20T17:25:00+00:00",
"roles": [
"customer"
]
},
"already_verified": false
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resend email verification
Resend the email verification link to the customer's email address. This is a public endpoint that accepts an email address.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/email/resend-verification" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@example.com\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/email/resend-verification"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "If a customer account exists with that email, we have sent a verification email.",
"data": {
"message": "If a customer account exists with that email, we have sent a verification email.",
"frontend_url": "http://localhost:3000"
}
}
Example response (400):
{
"success": false,
"message": "Email already verified."
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"email": [
"We could not find a user with that email address."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Logout customer
requires authentication
Revoke the current access token and log out the authenticated customer.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/logout" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/logout"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Logged out successfully",
"data": []
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get customer profile
requires authentication
Get the authenticated customer's profile information.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/auth/customer/me" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/me"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Profile retrieved successfully",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"email_verified_at": "2025-01-20T17:25:00+00:00",
"roles": [
"customer"
],
"profile": {
"phone": "1234567890",
"phone_country_code": {
"id": 1,
"phone_code": "+1"
},
"address_line_1": "123 Main Street",
"address_line_2": "Apt 4B",
"landmark": "Near Central Park",
"country": {
"id": 1,
"name": "United States"
},
"state": {
"id": 1,
"name": "New York"
},
"city": {
"id": 1,
"name": "New York City"
},
"postal_code": "12345",
"profile_image": "http://example.com/storage/profiles/image.jpg"
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Change password
requires authentication
Change the authenticated customer's password. The customer must provide their current password for verification.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/change-password" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"current_password\": \"oldpassword123\",
\"password\": \"newpassword123\",
\"password_confirmation\": \"newpassword123\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/change-password"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"current_password": "oldpassword123",
"password": "newpassword123",
"password_confirmation": "newpassword123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Password changed successfully",
"data": {
"message": "Your password has been changed successfully."
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"current_password": [
"The current password is incorrect."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update customer profile
requires authentication
Update the authenticated customer's profile information including personal details, contact information, address, and profile image.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/customer/update-profile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "first_name=John"\
--form "last_name=Doe"\
--form "email=john.doe@example.com"\
--form "phone=1234567890"\
--form "phone_country_code_id=1"\
--form "address_line_1=123 Main Street"\
--form "address_line_2=Apt 4B"\
--form "landmark=Near Central Park"\
--form "country_id=1"\
--form "state_id=1"\
--form "city_id=1"\
--form "postal_code=12345"\
--form "profile_image=@C:\Users\AMITB\AppData\Local\Temp\php38E5.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/auth/customer/update-profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('first_name', 'John');
body.append('last_name', 'Doe');
body.append('email', 'john.doe@example.com');
body.append('phone', '1234567890');
body.append('phone_country_code_id', '1');
body.append('address_line_1', '123 Main Street');
body.append('address_line_2', 'Apt 4B');
body.append('landmark', 'Near Central Park');
body.append('country_id', '1');
body.append('state_id', '1');
body.append('city_id', '1');
body.append('postal_code', '12345');
body.append('profile_image', document.querySelector('input[name="profile_image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Profile updated successfully",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"email_verified_at": "2025-01-20T17:25:00+00:00",
"roles": [
"customer"
],
"profile": {
"phone": "1234567890",
"phone_country_code": {
"id": 1,
"phone_code": "+1"
},
"address_line_1": "123 Main Street",
"address_line_2": "Apt 4B",
"landmark": "Near Central Park",
"country": {
"id": 1,
"name": "United States"
},
"state": {
"id": 1,
"name": "New York"
},
"city": {
"id": 1,
"name": "New York City"
},
"postal_code": "12345",
"profile_image": "http://example.com/storage/profiles/image.jpg"
}
}
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"email": [
"This email address is already registered."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin Authentication
APIs for admin and staff authentication. Both admin and staff users can access the admin portal.
Get admin/staff profile data
requires authentication
Get the authenticated admin or staff user's detailed profile data including first name, last name, email, profile photo and extra data.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/profile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Admin profile retrieved successfully",
"data": {
"id": 1,
"user_id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "admin@ruhline.com",
"profile_photo": "http://example.com/storage/profiles/photo.jpg",
"extra_data": null,
"created_at": "2026-01-20T17:47:05+00:00",
"updated_at": "2026-01-20T17:47:05+00:00"
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (404):
{
"success": false,
"message": "Admin profile not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update profile
requires authentication
Update the authenticated admin or staff user's profile information including first name, last name, and profile photo.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/profile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "first_name=John"\
--form "last_name=Doe"\
--form "profile_photo=@C:\Users\AMITB\AppData\Local\Temp\php38B5.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('first_name', 'John');
body.append('last_name', 'Doe');
body.append('profile_photo', document.querySelector('input[name="profile_photo"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Profile updated successfully",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "admin@ruhline.com",
"email_verified_at": null,
"roles": [
"admin"
],
"profile": {
"profile_photo": "http://example.com/storage/profiles/photo.jpg"
}
}
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"profile_photo": [
"The profile photo must be an image."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login admin or staff
Authenticate an admin or staff user and return an access token. Both admin and staff roles can use this endpoint.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/admin/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"admin@ruhline.com\",
\"password\": \"password\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/admin/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "admin@ruhline.com",
"password": "password"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Login successful",
"data": {
"user": {
"id": 1,
"name": "Admin User",
"first_name": "Admin",
"last_name": "User",
"email": "admin@ruhline.com",
"email_verified_at": null,
"roles": [
"admin"
],
"profile": {
"profile_photo": "http://example.com/storage/profiles/photo.jpg"
}
},
"token": "1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
Example response (422):
{
"success": false,
"message": "This account is not authorized to access the admin portal.",
"errors": {
"email": [
"This account is not authorized to access the admin portal."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Logout admin/staff
requires authentication
Revoke the current access token and log out the authenticated admin or staff user.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/admin/logout" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/admin/logout"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Logged out successfully",
"data": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get admin/staff profile
requires authentication
Get the authenticated admin or staff user's profile information.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/auth/admin/me" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/admin/me"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Profile retrieved successfully",
"data": {
"user": {
"id": 1,
"name": "Admin User",
"email": "admin@ruhline.com",
"email_verified_at": null,
"roles": [
"admin"
]
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Change password
requires authentication
Change the authenticated admin or staff user's password. The user must provide their current password for verification.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/admin/change-password" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"current_password\": \"oldpassword123\",
\"password\": \"newpassword123\",
\"password_confirmation\": \"newpassword123\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/admin/change-password"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"current_password": "oldpassword123",
"password": "newpassword123",
"password_confirmation": "newpassword123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Password changed successfully",
"data": {
"message": "Your password has been changed successfully."
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"current_password": [
"The current password is incorrect."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get admin/staff profile data
requires authentication
Get the authenticated admin or staff user's detailed profile data including first name, last name, email, profile photo and extra data.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/auth/admin/profile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/admin/profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Admin profile retrieved successfully",
"data": {
"id": 1,
"user_id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "admin@ruhline.com",
"profile_photo": "http://example.com/storage/profiles/photo.jpg",
"extra_data": null,
"created_at": "2026-01-20T17:47:05+00:00",
"updated_at": "2026-01-20T17:47:05+00:00"
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (404):
{
"success": false,
"message": "Admin profile not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update profile
requires authentication
Update the authenticated admin or staff user's profile information including first name, last name, and profile photo.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/auth/admin/profile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "first_name=John"\
--form "last_name=Doe"\
--form "profile_photo=@C:\Users\AMITB\AppData\Local\Temp\php38E6.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/auth/admin/profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('first_name', 'John');
body.append('last_name', 'Doe');
body.append('profile_photo', document.querySelector('input[name="profile_photo"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Profile updated successfully",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "admin@ruhline.com",
"email_verified_at": null,
"roles": [
"admin"
],
"profile": {
"profile_photo": "http://example.com/storage/profiles/photo.jpg"
}
}
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"profile_photo": [
"The profile photo must be an image."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Dashboard
APIs for the admin portal dashboard summary. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/dashboard
Get dashboard summary
requires authentication
Returns aggregate counts (coaches, customers, programs) and the most recent checkout orders.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/dashboard?recent_orders_limit=10" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"recent_orders_limit\": 1
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/dashboard"
);
const params = {
"recent_orders_limit": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"recent_orders_limit": 1
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Dashboard data retrieved successfully",
"data": {
"stats": {
"total_coaches": 5,
"total_customers": 120,
"total_programs": 15
},
"recent_orders": []
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (403):
{
"success": false,
"message": "Forbidden"
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"recent_orders_limit": [
"The recent orders limit field must be between 1 and 50."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coach Authentication
APIs for coach authentication. Coaches can register, verify email, and log in. Admin must verify a coach before they can log in (coaches created by admin are verified by default).
Register a new coach
Register a new coach account. After registration, a verification email is sent. The coach must verify their email, and an admin must verify the coach, before they can log in.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"coach@example.com\",
\"password\": \"password123\",
\"password_confirmation\": \"password123\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Doe",
"email": "coach@example.com",
"password": "password123",
"password_confirmation": "password123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"success": true,
"message": "Coach registered successfully. Please check your email to verify your account.",
"data": {
"user": {
"id": 1,
"name": "John Doe",
"email": "coach@example.com",
"email_verified_at": null,
"roles": [
"coach"
]
},
"message": "Registration successful. Please verify your email. An admin must approve your account before you can log in."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login coach
Authenticate a coach and return an access token. The coach must have verified their email and be verified by an admin before they can log in.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"coach@ruhline.com\",
\"password\": \"password\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "coach@ruhline.com",
"password": "password"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Login successful",
"data": {
"user": {
"id": 1,
"name": "Coach User",
"email": "coach@ruhline.com",
"roles": [
"coach"
]
},
"token": "1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
Example response (422):
{
"success": false,
"message": "This account is not authorized to access the coach portal.",
"errors": {
"email": [
"This account is not authorized to access the coach portal."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Forgot password (coach)
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/forgot-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@example.com\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/forgot-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reset password (coach)
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/reset-password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"abc123...\",
\"email\": \"john.doe@example.com\",
\"password\": \"newpassword123\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/reset-password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "abc123...",
"email": "john.doe@example.com",
"password": "newpassword123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify coach email (POST)
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/email/verify" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 1,
\"hash\": \"abc123...\",
\"expires\": 1234567890,
\"signature\": \"xyz789...\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/email/verify"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 1,
"hash": "abc123...",
"expires": 1234567890,
"signature": "xyz789..."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify coach email (GET)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/auth/coach/email/verify/architecto/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/email/verify/architecto/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Invalid signature."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resend coach email verification
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/email/resend-verification" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"john.doe@example.com\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/email/resend-verification"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "john.doe@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Logout coach
requires authentication
Revoke the current access token and log out the authenticated coach user.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/logout" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/logout"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Logged out successfully",
"data": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get coach profile
requires authentication
Get the authenticated coach user's profile information.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/auth/coach/me" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/me"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Profile retrieved successfully",
"data": {
"user": {
"id": 1,
"name": "Coach User",
"email": "coach@ruhline.com",
"email_verified_at": null,
"roles": [
"coach"
]
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Change password
requires authentication
Change the authenticated coach's password. The coach must provide their current password for verification.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/change-password" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"current_password\": \"oldpassword123\",
\"password\": \"newpassword123\",
\"password_confirmation\": \"newpassword123\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/change-password"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"current_password": "oldpassword123",
"password": "newpassword123",
"password_confirmation": "newpassword123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Password changed successfully",
"data": {
"message": "Your password has been changed successfully."
}
}
Example response (422):
{
"success": false,
"message": "The given data was invalid.",
"errors": {
"current_password": [
"The current password is incorrect."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update coach profile
requires authentication
Update the authenticated coach's profile. All fields are optional; only provided fields are updated. Supports: first_name, last_name, email, phone, phone_country_code_id, coach_type, address fields, profile_image.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/auth/coach/update-profile" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "first_name=John"\
--form "last_name=Doe"\
--form "email=coach@example.com"\
--form "phone=1234567890"\
--form "phone_country_code_id=1"\
--form "coach_type=Mentor"\
--form "address_line_1=123 Main St"\
--form "address_line_2=Apt 4B"\
--form "landmark=Near Central Park"\
--form "country_id=1"\
--form "state_id=1"\
--form "city_id=1"\
--form "postal_code=12345"\
--form "profile_image=@C:\Users\AMITB\AppData\Local\Temp\php3925.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/update-profile"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('first_name', 'John');
body.append('last_name', 'Doe');
body.append('email', 'coach@example.com');
body.append('phone', '1234567890');
body.append('phone_country_code_id', '1');
body.append('coach_type', 'Mentor');
body.append('address_line_1', '123 Main St');
body.append('address_line_2', 'Apt 4B');
body.append('landmark', 'Near Central Park');
body.append('country_id', '1');
body.append('state_id', '1');
body.append('city_id', '1');
body.append('postal_code', '12345');
body.append('profile_image', document.querySelector('input[name="profile_image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Profile updated successfully",
"data": { "user": { "id": 1, "name": "John Doe", "email": "coach@example.com", "profile": { ... } } }
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (422):
{ "success": false, "message": "Validation failed", "errors": { ... } }
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get coach payment details.
requires authentication
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/auth/coach/payment-details" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/payment-details"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update coach payment details.
requires authentication
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/auth/coach/payment-details" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"account_number\": \"b\",
\"country\": \"n\",
\"bank_name\": \"g\",
\"account_holder_name\": \"z\",
\"swiss_code\": \"m\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/auth/coach/payment-details"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"account_number": "b",
"country": "n",
"bank_name": "g",
"account_holder_name": "z",
"swiss_code": "m"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Checkout (Customer)
APIs for checkout preview and Stripe Checkout Session payment.
Base path: /api/v1/checkout
POST api/v1/checkout/webhook/stripe
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/checkout/webhook/stripe" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/checkout/webhook/stripe"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/checkout/preview
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/checkout/preview" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"program_id\": 16,
\"coach_id\": 16,
\"slot_start_at\": \"2026-07-07T13:46:41\",
\"coupon_code\": \"n\",
\"timezone\": \"Antarctica\\/Rothera\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/checkout/preview"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"program_id": 16,
"coach_id": 16,
"slot_start_at": "2026-07-07T13:46:41",
"coupon_code": "n",
"timezone": "Antarctica\/Rothera"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/checkout/create-session
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/checkout/create-session" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"program_id\": 16,
\"coach_id\": 16,
\"slot_start_at\": \"2026-07-07T13:46:41\",
\"coupon_code\": \"n\",
\"timezone\": \"Antarctica\\/Rothera\",
\"success_url\": \"http:\\/\\/www.okuneva.com\\/fugiat-sunt-nihil-accusantium-harum-mollitia.html\",
\"cancel_url\": \"http:\\/\\/www.considine.com\\/provident-perspiciatis-quo-omnis-nostrum-aut-adipisci-quidem\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/checkout/create-session"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"program_id": 16,
"coach_id": 16,
"slot_start_at": "2026-07-07T13:46:41",
"coupon_code": "n",
"timezone": "Antarctica\/Rothera",
"success_url": "http:\/\/www.okuneva.com\/fugiat-sunt-nihil-accusantium-harum-mollitia.html",
"cancel_url": "http:\/\/www.considine.com\/provident-perspiciatis-quo-omnis-nostrum-aut-adipisci-quidem"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/checkout/orders
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/checkout/orders" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"architecto\",
\"payment_status\": \"architecto\",
\"per_page\": 22,
\"page\": 67
}"
const url = new URL(
"https://ruhline-api.test/api/v1/checkout/orders"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "architecto",
"payment_status": "architecto",
"per_page": 22,
"page": 67
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/checkout/order/{orderId}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/checkout/order/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/checkout/order/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/checkout/sessions/upcoming
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/checkout/sessions/upcoming" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/checkout/sessions/upcoming"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollments
GET api/v1/customer/enrollments
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"occurrence_type\": \"architecto\",
\"enrollment_status\": \"architecto\",
\"per_page\": 22,
\"page\": 67
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"occurrence_type": "architecto",
"enrollment_status": "architecto",
"per_page": 22,
"page": 67
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/customer/enrollments/{enrollmentId}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/customer/enrollments/{enrollmentId}/sessions
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"session_ui_phase\": \"architecto\",
\"per_page\": 22,
\"page\": 67
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"session_ui_phase": "architecto",
"per_page": 22,
"page": 67
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/customer/enrollments/{enrollmentId}/sessions/{sessionId}/available-slots
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/available-slots" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date\": \"2026-07-07\",
\"timezone\": \"Asia\\/Yekaterinburg\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/available-slots"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date": "2026-07-07",
"timezone": "Asia\/Yekaterinburg"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/enrollments/{enrollmentId}/sessions/{sessionId}/schedule
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/schedule" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"slot_start_at\": \"2026-07-07T13:46:43\",
\"timezone\": \"Asia\\/Yekaterinburg\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/schedule"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"slot_start_at": "2026-07-07T13:46:43",
"timezone": "Asia\/Yekaterinburg"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/enrollments/{enrollmentId}/sessions/{sessionId}/reschedule
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/reschedule" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"slot_start_at\": \"2026-07-07T13:46:43\",
\"timezone\": \"Asia\\/Yekaterinburg\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/reschedule"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"slot_start_at": "2026-07-07T13:46:43",
"timezone": "Asia\/Yekaterinburg"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/enrollments/{enrollmentId}/sessions/{sessionId}/cancel
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/cancel" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/cancel"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/enrollments/{enrollmentId}/sessions/{sessionId}/video-token
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/video-token" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/sessions/architecto/video-token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Disputes
GET api/v1/dispute/form-options
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/dispute/form-options" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/dispute/form-options"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/dispute
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/dispute" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/dispute"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/dispute
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/dispute" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "subject=b"\
--form "category=issue_with_payments"\
--form "description=Et animi quos velit et fugiat."\
--form "program_id=16"\
--form "coach_id=16"\
--form "checkout_order_id=16"\
--form "attachments[]=@C:\Users\AMITB\AppData\Local\Temp\php3AD6.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/dispute"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('subject', 'b');
body.append('category', 'issue_with_payments');
body.append('description', 'Et animi quos velit et fugiat.');
body.append('program_id', '16');
body.append('coach_id', '16');
body.append('checkout_order_id', '16');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/dispute/{id}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/dispute/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/dispute/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/dispute/{id}
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/dispute/architecto" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "subject=b"\
--form "category=issue_with_program"\
--form "description=Et animi quos velit et fugiat."\
--form "program_id=16"\
--form "coach_id=16"\
--form "checkout_order_id=16"\
--form "attachments[]=@C:\Users\AMITB\AppData\Local\Temp\php3AE7.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/dispute/architecto"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('subject', 'b');
body.append('category', 'issue_with_program');
body.append('description', 'Et animi quos velit et fugiat.');
body.append('program_id', '16');
body.append('coach_id', '16');
body.append('checkout_order_id', '16');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/dispute/{id}
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/dispute/architecto" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "subject=b"\
--form "category=issue_with_payments"\
--form "description=Et animi quos velit et fugiat."\
--form "program_id=16"\
--form "coach_id=16"\
--form "checkout_order_id=16"\
--form "attachments[]=@C:\Users\AMITB\AppData\Local\Temp\php3AE8.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/dispute/architecto"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('subject', 'b');
body.append('category', 'issue_with_payments');
body.append('description', 'Et animi quos velit et fugiat.');
body.append('program_id', '16');
body.append('coach_id', '16');
body.append('checkout_order_id', '16');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);
fetch(url, {
method: "PATCH",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/v1/dispute/{id}
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/dispute/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/dispute/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Program Reviews
GET api/v1/customer/reviews
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/reviews" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"per_page\": 1,
\"page\": 22
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/reviews"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"per_page": 1,
"page": 22
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/reviews
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/reviews" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"program_enrollment_id\": 16,
\"rating\": 2,
\"body\": \"g\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/reviews"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"program_enrollment_id": 16,
"rating": 2,
"body": "g"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/reviews/{reviewId}
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/reviews/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"rating\": 1,
\"body\": \"n\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/reviews/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"rating": 1,
"body": "n"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/v1/customer/reviews/{reviewId}
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/customer/reviews/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/reviews/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Programs (Guest / no auth)
Unauthenticated catalog: list programs and program detail. Only programs whose category is active are returned. Does not include program structure or modules.
Base path: /api/v1/programs
List programs (optional filter by active category).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/programs?page=1&per_page=15&program_category_id=2" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/programs"
);
const params = {
"page": "1",
"per_page": "15",
"program_category_id": "2",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Program category not found or inactive."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List programs in a specific active category.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/programs/category/1?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/programs/category/1"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Program category not found or inactive."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List facilitators (coaches) assigned to one visible program.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/programs/1/facilitators?page=1&per_page=15&coach_type=Mentor" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/programs/1/facilitators"
);
const params = {
"page": "1",
"per_page": "15",
"coach_type": "Mentor",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Program not found or unavailable."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List available slots for one facilitator on one date.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/programs/1/facilitators/3/slots?date=2026-04-10&timezone=Asia%2FKolkata" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date\": \"2026-07-07\",
\"timezone\": \"Asia\\/Yekaterinburg\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/programs/1/facilitators/3/slots"
);
const params = {
"date": "2026-04-10",
"timezone": "Asia/Kolkata",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"date": "2026-07-07",
"timezone": "Asia\/Yekaterinburg"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Program not found or unavailable."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program detail (marketing content only; no structure/modules).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/programs/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/programs/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Program not found or unavailable."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coaches (Guest / no auth)
Unauthenticated directory of admin-verified coaches only.
Base path: /api/v1/coaches
List coaches visible on the public directory.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/coaches?page=1&per_page=15&coach_type=Mentor" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/coaches"
);
const params = {
"page": "1",
"per_page": "15",
"coach_type": "Mentor",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": true,
"message": "Coaches retrieved successfully",
"data": {
"data": [],
"links": {
"first": "https://ruhline-api.test/api/v1/coaches?page=1",
"last": "https://ruhline-api.test/api/v1/coaches?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://ruhline-api.test/api/v1/coaches?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://ruhline-api.test/api/v1/coaches",
"per_page": 15,
"to": null,
"total": 0
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coach - Programs
APIs for coaches to view programs they are assigned to.
Routes are prefixed with: /api/v1/program
List programs assigned to the authenticated coach.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get details of one program assigned to the authenticated coach.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coach - Program Availability
APIs for coaches to manage their own availability and time-off per assigned program.
Routes are prefixed with: /api/v1/program
Get coach availability and time-off for an assigned program.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/1/availability" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/1/availability"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Replace coach availability rules for one assigned program.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/1/availability" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"rules\": [
{
\"day_of_week\": 4,
\"start_time\": \"13:46\",
\"end_time\": \"13:46\",
\"effective_from\": \"2026-07-07\",
\"effective_to\": \"2052-07-30\",
\"is_active\": false
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/1/availability"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"rules": [
{
"day_of_week": 4,
"start_time": "13:46",
"end_time": "13:46",
"effective_from": "2026-07-07",
"effective_to": "2052-07-30",
"is_active": false
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Replace coach availability rules for one assigned program.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/1/availability" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"rules\": [
{
\"day_of_week\": 4,
\"start_time\": \"13:46\",
\"end_time\": \"13:46\",
\"effective_from\": \"2026-07-07\",
\"effective_to\": \"2052-07-30\",
\"is_active\": false
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/1/availability"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"rules": [
{
"day_of_week": 4,
"start_time": "13:46",
"end_time": "13:46",
"effective_from": "2026-07-07",
"effective_to": "2052-07-30",
"is_active": false
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a time-off block for one assigned program.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/program/1/time-off" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_at\": \"2026-07-07T13:46:42\",
\"end_at\": \"2052-07-30\",
\"reason\": \"n\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/1/time-off"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"start_at": "2026-07-07T13:46:42",
"end_at": "2052-07-30",
"reason": "n"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete one time-off block for an assigned program.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/program/1/time-off/5" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/1/time-off/5"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coach - Program Structure
List program structure for a coach, including flags about whether each module can be edited and whether a coach-specific copy exists.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/quote
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/quote" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/quote"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Goal Settings module has no extra configuration; coaches get metadata only.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/goal-settings-module" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/goal-settings-module"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Habit Tracker module has no extra configuration; coaches get metadata only.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/habit-tracker-module" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/habit-tracker-module"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/card-game/question-sets
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/card-game/question-sets" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/card-game/question-sets"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/card-game/question-sets/{setId}/questions
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/card-game/question-sets/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/card-game/question-sets/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/card-game/cards
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/card-game/cards" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/card-game/cards"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/intermediate-values
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-values" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/intermediate-eight-most-common-mistakes
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-eight-most-common-mistakes" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-eight-most-common-mistakes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/intermediate-goal-settings
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-goal-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-goal-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/intermediate-questions-goal-why
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-questions-goal-why" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-questions-goal-why"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/{programId}/structure/{structureId}/intermediate-y-method
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-y-method" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/intermediate-y-method"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List words for a Find your Motivation module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a coach-specific word (clones coach copy on first write).
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"word\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"word": "b"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific word.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"word\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"word": "b"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific word.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"word\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"word": "b"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a coach-specific word.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific words.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific words.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/words/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List Values questions for a coach (program defaults or coach copy, depending on whether a copy exists).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a coach-specific Values question (clones on first write).
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific Values question.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific Values question.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a coach-specific Values question.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific Values questions.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific Values questions.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/values/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List Who am I questions for a coach.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a coach-specific Who am I question.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific Who am I question.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific Who am I question.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a coach-specific Who am I question.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific Who am I questions.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific Who am I questions.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/who-am-i/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List life elements for a coach Wheel of Life module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a life element to a coach-specific Wheel of Life module.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific life element.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific life element.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a coach-specific life element.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific life elements.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific life elements.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List questions for a coach Wheel of Life element.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a question to a coach-specific Wheel of Life element.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific Wheel of Life question.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach-specific Wheel of Life question.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a coach-specific Wheel of Life question.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific Wheel of Life questions.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach-specific Wheel of Life questions.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List upload documents for a coach.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload one or more documents to an Upload Documents module.
Single file: multipart field "file" (optional "original_name"). Multiple files: multipart field "files[]" (array of files).
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "original_name=b"\
--form "file=@C:\Users\AMITB\AppData\Local\Temp\php40E4.tmp" \
--form "files[]=@C:\Users\AMITB\AppData\Local\Temp\php40F5.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('original_name', 'b');
body.append('file', document.querySelector('input[name="file"]').files[0]);
body.append('files[]', document.querySelector('input[name="files[]"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach document's original name.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"original_name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"original_name": "b"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach document's original name.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"original_name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"original_name": "b"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a coach document (and remove its file from storage).
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach documents.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder coach documents.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/architecto/structure/architecto/upload-documents/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coach - Disputes
GET api/v1/coach/dispute/form-options
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/coach/dispute/form-options" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/coach/dispute/form-options"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/coach/dispute
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/coach/dispute" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/coach/dispute"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/coach/dispute
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/coach/dispute" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "subject=b"\
--form "category=issue_with_program"\
--form "description=Et animi quos velit et fugiat."\
--form "program_id=16"\
--form "payout_id=16"\
--form "attachments[]=@C:\Users\AMITB\AppData\Local\Temp\php3AA4.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/coach/dispute"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('subject', 'b');
body.append('category', 'issue_with_program');
body.append('description', 'Et animi quos velit et fugiat.');
body.append('program_id', '16');
body.append('payout_id', '16');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/coach/dispute/{id}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/coach/dispute/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/coach/dispute/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/coach/dispute/{id}
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/coach/dispute/architecto" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "subject=b"\
--form "category=issue_with_payments"\
--form "description=Et animi quos velit et fugiat."\
--form "program_id=16"\
--form "payout_id=16"\
--form "attachments[]=@C:\Users\AMITB\AppData\Local\Temp\php3AA5.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/coach/dispute/architecto"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('subject', 'b');
body.append('category', 'issue_with_payments');
body.append('description', 'Et animi quos velit et fugiat.');
body.append('program_id', '16');
body.append('payout_id', '16');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/coach/dispute/{id}
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/coach/dispute/architecto" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "subject=b"\
--form "category=issue_with_program"\
--form "description=Et animi quos velit et fugiat."\
--form "program_id=16"\
--form "payout_id=16"\
--form "attachments[]=@C:\Users\AMITB\AppData\Local\Temp\php3AB6.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/coach/dispute/architecto"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('subject', 'b');
body.append('category', 'issue_with_program');
body.append('description', 'Et animi quos velit et fugiat.');
body.append('program_id', '16');
body.append('payout_id', '16');
body.append('attachments[]', document.querySelector('input[name="attachments[]"]').files[0]);
fetch(url, {
method: "PATCH",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/v1/coach/dispute/{id}
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/coach/dispute/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/coach/dispute/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coach - Payouts
GET api/v1/payout
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/payout" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/payout"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - About Page (CMS)
APIs for managing the About page content (Section 01, Mission/Vision/Values, Founder). Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/about-page
Get about page data (admin)
Returns the full about page content for editing.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/about-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/about-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update about page
Update section 01, mission/vision/values, and founder. All sections are optional. Use multipart/form-data for image uploads.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/about-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"section_one\": [
\"architecto\"
],
\"mission_vision_values\": [
\"architecto\"
],
\"founder\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/about-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"section_one": [
"architecto"
],
"mission_vision_values": [
"architecto"
],
"founder": [
"architecto"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update about page
Update section 01, mission/vision/values, and founder. All sections are optional. Use multipart/form-data for image uploads.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/about-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"section_one\": [
\"architecto\"
],
\"mission_vision_values\": [
\"architecto\"
],
\"founder\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/about-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"section_one": [
"architecto"
],
"mission_vision_values": [
"architecto"
],
"founder": [
"architecto"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
About Page (Public)
Public API for retrieving the About page content for the frontend. No authentication required.
Routes are prefixed with: /api/v1/about-page
Get about page
Returns Section 01 (About Us), Section 02 (Mission, Vision, Values), and Section 03 (Our Founder).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/about-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/about-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": true,
"message": "About page retrieved successfully",
"data": {
"section_01": {
"headline": null,
"about_us_image": null,
"secondary_headline": null,
"description": null
},
"section_02": {
"mission_vision_values": [
{
"id": 1,
"type": "mission",
"title": "Mission",
"description": null,
"icon": null
},
{
"id": 2,
"type": "vision",
"title": "Vision",
"description": null,
"icon": null
},
{
"id": 3,
"type": "values",
"title": "Values",
"description": null,
"icon": null
}
]
},
"section_03": {
"headline": null,
"secondary_headline": null,
"image": null,
"description": null
},
"updated_at": "2026-05-14T16:55:35+00:00"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Article Category Management
APIs for managing article categories. Only accessible by admin users. Admin sends is_active as text "true" or "false".
All routes are prefixed with: /api/v1/admin/article-category
Get list of article categories (with articles count)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/article/article-category?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article-category"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new article category
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/article/article-category" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Fitness Tips\",
\"is_active\": \"true\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article-category"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Fitness Tips",
"is_active": "true"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific article category
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/article/article-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an article category
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/article/article-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"is_active\": \"architecto\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "architecto",
"is_active": "architecto"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an article category
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/article/article-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\",
\"is_active\": \"architecto\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "architecto",
"is_active": "architecto"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete an article category
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/article/article-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Article Management
APIs for managing articles (with thumbnail, category, description, share options, sections). Admin sends share_facebook, share_twitter, share_linkedin as text "true" or "false". Section image_position: left, right, or center.
All routes are prefixed with: /api/v1/admin/article
Get list of articles
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/article/article?page=1&per_page=15&article_category_id=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article"
);
const params = {
"page": "1",
"per_page": "15",
"article_category_id": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new article
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/article/article" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "article_category_id=1"\
--form "name=How to Stay Fit"\
--form "description=Eius et animi quos velit et."\
--form "share_facebook=architecto"\
--form "share_twitter=architecto"\
--form "share_linkedin=architecto"\
--form "sections[]=architecto"\
--form "thumbnail_image=@C:\Users\AMITB\AppData\Local\Temp\php383E.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('article_category_id', '1');
body.append('name', 'How to Stay Fit');
body.append('description', 'Eius et animi quos velit et.');
body.append('share_facebook', 'architecto');
body.append('share_twitter', 'architecto');
body.append('share_linkedin', 'architecto');
body.append('sections[]', 'architecto');
body.append('thumbnail_image', document.querySelector('input[name="thumbnail_image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific article
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/article/article/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an article
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/article/article/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "article_category_id=16"\
--form "name=architecto"\
--form "description=Eius et animi quos velit et."\
--form "share_facebook=architecto"\
--form "share_twitter=architecto"\
--form "share_linkedin=architecto"\
--form "sections[]=architecto"\
--form "thumbnail_image=@C:\Users\AMITB\AppData\Local\Temp\php3850.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('article_category_id', '16');
body.append('name', 'architecto');
body.append('description', 'Eius et animi quos velit et.');
body.append('share_facebook', 'architecto');
body.append('share_twitter', 'architecto');
body.append('share_linkedin', 'architecto');
body.append('sections[]', 'architecto');
body.append('thumbnail_image', document.querySelector('input[name="thumbnail_image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an article
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/article/article/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "article_category_id=16"\
--form "name=architecto"\
--form "description=Eius et animi quos velit et."\
--form "share_facebook=architecto"\
--form "share_twitter=architecto"\
--form "share_linkedin=architecto"\
--form "sections[]=architecto"\
--form "thumbnail_image=@C:\Users\AMITB\AppData\Local\Temp\php3863.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('article_category_id', '16');
body.append('name', 'architecto');
body.append('description', 'Eius et animi quos velit et.');
body.append('share_facebook', 'architecto');
body.append('share_twitter', 'architecto');
body.append('share_linkedin', 'architecto');
body.append('sections[]', 'architecto');
body.append('thumbnail_image', document.querySelector('input[name="thumbnail_image"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an article
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/article/article/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "article_category_id=16"\
--form "name=architecto"\
--form "description=Eius et animi quos velit et."\
--form "share_facebook=architecto"\
--form "share_twitter=architecto"\
--form "share_linkedin=architecto"\
--form "sections[]=architecto"\
--form "thumbnail_image=@C:\Users\AMITB\AppData\Local\Temp\php3866.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('article_category_id', '16');
body.append('name', 'architecto');
body.append('description', 'Eius et animi quos velit et.');
body.append('share_facebook', 'architecto');
body.append('share_twitter', 'architecto');
body.append('share_linkedin', 'architecto');
body.append('sections[]', 'architecto');
body.append('thumbnail_image', document.querySelector('input[name="thumbnail_image"]').files[0]);
fetch(url, {
method: "PATCH",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete an article
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/article/article/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/article/article/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Article Categories (Public)
Public APIs for listing article categories. No authentication required. Returns only active categories with articles count.
All routes are prefixed with: /api/v1/article-category
List active article categories (with articles count)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/article/article-category?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/article/article-category"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": true,
"message": "Article categories retrieved successfully",
"data": {
"data": [],
"links": {
"first": "https://ruhline-api.test/api/v1/article/article-category?page=1",
"last": "https://ruhline-api.test/api/v1/article/article-category?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://ruhline-api.test/api/v1/article/article-category?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://ruhline-api.test/api/v1/article/article-category",
"per_page": 15,
"to": null,
"total": 0
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a single active article category
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/article/article-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/article/article-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Article category not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Articles (Public)
Public APIs for listing and viewing articles. No authentication required. All routes are prefixed with: /api/v1/article/article (list, single by id).
List articles
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/article/article?page=1&per_page=15&article_category_id=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/article/article"
);
const params = {
"page": "1",
"per_page": "15",
"article_category_id": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": true,
"message": "Articles retrieved successfully",
"data": {
"data": [],
"links": {
"first": "https://ruhline-api.test/api/v1/article/article?page=1",
"last": "https://ruhline-api.test/api/v1/article/article?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://ruhline-api.test/api/v1/article/article?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://ruhline-api.test/api/v1/article/article",
"per_page": 15,
"to": null,
"total": 0
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a single article
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/article/article/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/article/article/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Article not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Card Management
APIs for managing cards within card categories. Only accessible by admin users. Each category has up to 52 cards. Admin provides card name and description when creating.
All routes are prefixed with: /api/v1/admin/card-category/cards
Get list of cards
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/card-category/cards?page=1&per_page=15&card_category_id=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/cards"
);
const params = {
"page": "1",
"per_page": "15",
"card_category_id": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new card
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/card-category/cards" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"card_category_id\": 1,
\"name\": \"The Fool\",
\"description\": \"Eius et animi quos velit et.\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/cards"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"card_category_id": 1,
"name": "The Fool",
"description": "Eius et animi quos velit et."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific card
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/card-category/cards/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/cards/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a card
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/card-category/cards/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"card_category_id\": 16,
\"name\": \"architecto\",
\"description\": \"Eius et animi quos velit et.\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/cards/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"card_category_id": 16,
"name": "architecto",
"description": "Eius et animi quos velit et."
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a card
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/card-category/cards/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"card_category_id\": 16,
\"name\": \"architecto\",
\"description\": \"Eius et animi quos velit et.\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/cards/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"card_category_id": 16,
"name": "architecto",
"description": "Eius et animi quos velit et."
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a card
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/card-category/cards/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/cards/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Card Category Management
APIs for managing card categories. Only accessible by admin users. Admin provides only the card category name when creating.
All routes are prefixed with: /api/v1/admin/card-category
Get list of card categories (with cards count)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/card-category?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new card category
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/card-category" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Tarot\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Tarot"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific card category
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/card-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a card category
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/card-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "architecto"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a card category
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/card-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "architecto"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a card category
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/card-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/card-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Coach Management
APIs for managing coaches. Only accessible by admin users.
All routes are prefixed with: /api/v1/coach/admin
Get list of all coaches
Retrieve a paginated list of all coaches with their profiles.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/coach?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Coaches retrieved successfully",
"data": {
"current_page": 1,
"data": [
{
"id": 1,
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"profile": {
"phone": "1234567890",
"gender": "male",
"coach_type": "Mentor",
"profile_image": "http://example.com/storage/coaches/profiles/image.jpg"
}
}
],
"total": 10
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new coach
Create a new coach account with profile information. An email will be sent to the coach with their login credentials.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/coach" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "first_name=John"\
--form "last_name=Doe"\
--form "email=john@example.com"\
--form "phone=1234567890"\
--form "phone_country_code_id=1"\
--form "gender=male"\
--form "coach_type=Mentor"\
--form "password=password123"\
--form "notes=Experienced mentor with 10 years of experience."\
--form "password_confirmation=password123"\
--form "profile_image=@C:\Users\AMITB\AppData\Local\Temp\php39D2.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('first_name', 'John');
body.append('last_name', 'Doe');
body.append('email', 'john@example.com');
body.append('phone', '1234567890');
body.append('phone_country_code_id', '1');
body.append('gender', 'male');
body.append('coach_type', 'Mentor');
body.append('password', 'password123');
body.append('notes', 'Experienced mentor with 10 years of experience.');
body.append('password_confirmation', 'password123');
body.append('profile_image', document.querySelector('input[name="profile_image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (201):
{
"success": true,
"message": "Coach created successfully",
"data": {
"id": 1,
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"profile": {
"phone": "1234567890",
"gender": "male",
"coach_type": "Mentor",
"profile_image": "http://example.com/storage/coaches/profiles/image.jpg"
}
}
}
Example response (422):
{
"success": false,
"message": "Validation error",
"errors": {
"email": [
"The email has already been taken."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific coach
Retrieve detailed information about a specific coach.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/coach/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Coach retrieved successfully",
"data": {
"id": 1,
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"profile": {
"phone": "1234567890",
"gender": "male",
"coach_type": "Mentor",
"profile_image": "http://example.com/storage/coaches/profiles/image.jpg"
}
}
}
Example response (404):
{
"success": false,
"message": "Coach not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach
Update coach information and profile details.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/coach/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "first_name=John"\
--form "last_name=Doe"\
--form "email=john@example.com"\
--form "phone=1234567890"\
--form "phone_country_code_id=1"\
--form "gender=male"\
--form "coach_type=Mentor"\
--form "notes=Experienced mentor with 10 years of experience."\
--form "profile_image=@C:\Users\AMITB\AppData\Local\Temp\php39E3.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('first_name', 'John');
body.append('last_name', 'Doe');
body.append('email', 'john@example.com');
body.append('phone', '1234567890');
body.append('phone_country_code_id', '1');
body.append('gender', 'male');
body.append('coach_type', 'Mentor');
body.append('notes', 'Experienced mentor with 10 years of experience.');
body.append('profile_image', document.querySelector('input[name="profile_image"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Coach updated successfully",
"data": {
"id": 1,
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"profile": {
"phone": "1234567890",
"gender": "male",
"coach_type": "Mentor"
}
}
}
Example response (404):
{
"success": false,
"message": "Coach not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coach
Update coach information and profile details.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/coach/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "first_name=John"\
--form "last_name=Doe"\
--form "email=john@example.com"\
--form "phone=1234567890"\
--form "phone_country_code_id=1"\
--form "gender=male"\
--form "coach_type=Mentor"\
--form "notes=Experienced mentor with 10 years of experience."\
--form "profile_image=@C:\Users\AMITB\AppData\Local\Temp\php39E4.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('first_name', 'John');
body.append('last_name', 'Doe');
body.append('email', 'john@example.com');
body.append('phone', '1234567890');
body.append('phone_country_code_id', '1');
body.append('gender', 'male');
body.append('coach_type', 'Mentor');
body.append('notes', 'Experienced mentor with 10 years of experience.');
body.append('profile_image', document.querySelector('input[name="profile_image"]').files[0]);
fetch(url, {
method: "PATCH",
headers,
body,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Coach updated successfully",
"data": {
"id": 1,
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"profile": {
"phone": "1234567890",
"gender": "male",
"coach_type": "Mentor"
}
}
}
Example response (404):
{
"success": false,
"message": "Coach not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify a coach (admin approval)
Mark a coach as admin-verified so they can log into the coach portal.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/coach/1/verify" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach/1/verify"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Coach verified successfully. They can now log in.",
"data": []
}
Example response (404):
{
"success": false,
"message": "Coach not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a coach
Delete a coach account and all associated data. This will also delete the user account.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/coach/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Coach deleted successfully",
"data": []
}
Example response (404):
{
"success": false,
"message": "Coach not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Global Commission Rate (Coaches)
APIs for managing the global commission rate applied to coaches. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/coach
Get global commission rate
Returns the current global commission rate (percentage) for coaches.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/coach/global-commission-rate" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach/global-commission-rate"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Global commission rate retrieved successfully",
"data": {
"global_commission_rate": 10.5
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update global commission rate
Update the global commission rate (percentage) for all coaches. Value must be between 0 and 100.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/coach/global-commission-rate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"global_commission_rate\": 10.5
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach/global-commission-rate"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"global_commission_rate": 10.5
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Global commission rate updated successfully",
"data": {
"global_commission_rate": 10.5
}
}
Example response (422):
{"success":false,"message":"Validation failed","errors":{...}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update global commission rate
Update the global commission rate (percentage) for all coaches. Value must be between 0 and 100.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/coach/global-commission-rate" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"global_commission_rate\": 10.5
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/coach/global-commission-rate"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"global_commission_rate": 10.5
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Global commission rate updated successfully",
"data": {
"global_commission_rate": 10.5
}
}
Example response (422):
{"success":false,"message":"Validation failed","errors":{...}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Contact Form Management
APIs for managing contact form submissions. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/contact
Get list of all contact submissions
Retrieve a paginated list of all contact form submissions.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/contact?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/contact"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Contact submissions retrieved successfully",
"data": {
"current_page": 1,
"data": [
{
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "1234567890",
"phone_country_code": {
"id": 1,
"phone_code": "+1",
"intl_dialing_prefix": "1"
},
"message": "I would like to know more about your services.",
"created_at": "2026-01-28T06:05:31+00:00"
}
],
"total": 10
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific contact submission
Retrieve detailed information about a specific contact submission.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/contact/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/contact/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Contact submission retrieved successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "1234567890",
"phone_country_code": {
"id": 1,
"phone_code": "+1",
"intl_dialing_prefix": "1"
},
"message": "I would like to know more about your services.",
"created_at": "2026-01-28T06:05:31+00:00"
}
}
Example response (404):
{
"success": false,
"message": "Contact submission not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a contact submission
Delete a contact form submission.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/contact/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/contact/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Contact submission deleted successfully",
"data": []
}
Example response (404):
{
"success": false,
"message": "Contact submission not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Contact Form
Public APIs for submitting contact form. No authentication required.
Submit contact form
Submit a contact form with name, email, phone (with country code), and message.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/contact" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"John Doe\",
\"email\": \"john@example.com\",
\"phone\": \"1234567890\",
\"phone_country_code_id\": 1,
\"message\": \"I would like to know more about your services.\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/contact"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "John Doe",
"email": "john@example.com",
"phone": "1234567890",
"phone_country_code_id": 1,
"message": "I would like to know more about your services."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"success": true,
"message": "Contact form submitted successfully",
"data": {
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"phone": "1234567890",
"phone_country_code": {
"id": 1,
"phone_code": "+1",
"intl_dialing_prefix": "1"
},
"message": "I would like to know more about your services.",
"created_at": "2026-01-28T06:05:31+00:00"
}
}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"email": [
"The email field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Contact Page (CMS)
APIs for managing the Contact page content. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/contact-page
Get contact page content (admin)
Returns the current contact page content for editing.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/contact-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/contact-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update contact page content
Update contact page content. All fields are optional; only provided fields are updated. Image field accepts file upload; text fields accept strings.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/contact-page" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "heading=Get in Touch"\
--form "subheading=We'd love to hear from you."\
--form "side_image=@C:\Users\AMITB\AppData\Local\Temp\php3A05.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/contact-page"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('heading', 'Get in Touch');
body.append('subheading', 'We'd love to hear from you.');
body.append('side_image', document.querySelector('input[name="side_image"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200):
{"success":true,"message":"Contact page updated successfully","data":{...}}
Example response (422):
{"success":false,"message":"Validation failed","errors":{...}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update contact page content
Update contact page content. All fields are optional; only provided fields are updated. Image field accepts file upload; text fields accept strings.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/contact-page" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "heading=Get in Touch"\
--form "subheading=We'd love to hear from you."\
--form "side_image=@C:\Users\AMITB\AppData\Local\Temp\php3A17.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/contact-page"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('heading', 'Get in Touch');
body.append('subheading', 'We'd love to hear from you.');
body.append('side_image', document.querySelector('input[name="side_image"]').files[0]);
fetch(url, {
method: "PATCH",
headers,
body,
}).then(response => response.json());Example response (200):
{"success":true,"message":"Contact page updated successfully","data":{...}}
Example response (422):
{"success":false,"message":"Validation failed","errors":{...}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Contact Page (Public)
Public APIs for retrieving the Contact page content. No authentication required.
Routes are prefixed with: /api/v1/contact-page
Get contact page content
Returns the current contact page content for the frontend (side image, heading, subheading).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/contact-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/contact-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Contact page retrieved successfully",
"data": {
"id": 1,
"side_image": "http://localhost/storage/contact-page/abc.jpg",
"heading": "Get in Touch",
"subheading": "We'd love to hear from you.",
"updated_at": "2026-07-07T12:00:00+00:00"
}
}
Example response (404):
{
"success": false,
"message": "Contact page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Coupon Management
APIs for managing coupons. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/coupon
Get list of all coupons
Retrieve a paginated list of all coupons.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/coupon?page=1&per_page=15&search=WELCOME" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/coupon"
);
const params = {
"page": "1",
"per_page": "15",
"search": "WELCOME",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new coupon
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/coupon" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"WELCOME10\",
\"name\": \"Welcome Discount\",
\"type\": \"percentage\",
\"amount\": 10,
\"usage_limit_per_user\": 3,
\"applies_to_all\": true,
\"is_active\": true,
\"starts_at\": \"2026-02-01T00:00:00+00:00\",
\"ends_at\": \"2026-02-28T23:59:59+00:00\",
\"program_category_ids\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/coupon"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "WELCOME10",
"name": "Welcome Discount",
"type": "percentage",
"amount": 10,
"usage_limit_per_user": 3,
"applies_to_all": true,
"is_active": true,
"starts_at": "2026-02-01T00:00:00+00:00",
"ends_at": "2026-02-28T23:59:59+00:00",
"program_category_ids": [
16
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific coupon
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/coupon/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/coupon/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coupon
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/coupon/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"WELCOME10\",
\"name\": \"Welcome Discount\",
\"type\": \"percentage\",
\"amount\": 10,
\"usage_limit_per_user\": 3,
\"applies_to_all\": true,
\"is_active\": true,
\"starts_at\": \"2026-02-01T00:00:00+00:00\",
\"ends_at\": \"2026-02-28T23:59:59+00:00\",
\"program_category_ids\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/coupon/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "WELCOME10",
"name": "Welcome Discount",
"type": "percentage",
"amount": 10,
"usage_limit_per_user": 3,
"applies_to_all": true,
"is_active": true,
"starts_at": "2026-02-01T00:00:00+00:00",
"ends_at": "2026-02-28T23:59:59+00:00",
"program_category_ids": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a coupon
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/coupon/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"WELCOME10\",
\"name\": \"Welcome Discount\",
\"type\": \"percentage\",
\"amount\": 10,
\"usage_limit_per_user\": 3,
\"applies_to_all\": true,
\"is_active\": true,
\"starts_at\": \"2026-02-01T00:00:00+00:00\",
\"ends_at\": \"2026-02-28T23:59:59+00:00\",
\"program_category_ids\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/coupon/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "WELCOME10",
"name": "Welcome Discount",
"type": "percentage",
"amount": 10,
"usage_limit_per_user": 3,
"applies_to_all": true,
"is_active": true,
"starts_at": "2026-02-01T00:00:00+00:00",
"ends_at": "2026-02-28T23:59:59+00:00",
"program_category_ids": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a coupon
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/coupon/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/coupon/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Customer Management
APIs for managing customers. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/customer
Get list of all customers
Retrieve a paginated list of all customers with their profiles.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/customer?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/customer"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Customers retrieved successfully",
"data": {
"current_page": 1,
"data": [
{
"id": 1,
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"profile": {
"phone": "1234567890",
"phone_country_code": {
"id": 1,
"phone_code": "+1",
"intl_dialing_prefix": "1"
}
}
}
],
"total": 10
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new customer
Create a new customer account with profile information. An email will be sent to the customer with their login credentials. The customer's email is marked as verified by default because the account is created by an admin.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/customer" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"john@example.com\",
\"phone\": \"1234567890\",
\"phone_country_code_id\": 1,
\"password\": \"password123\",
\"notes\": \"VIP customer with special requirements.\",
\"address_line_1\": \"123 Main Street\",
\"address_line_2\": \"Apt 4B\",
\"landmark\": \"Near Central Park\",
\"country_id\": 1,
\"state_id\": 1,
\"city_id\": 1,
\"postal_code\": \"12345\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/customer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"phone": "1234567890",
"phone_country_code_id": 1,
"password": "password123",
"notes": "VIP customer with special requirements.",
"address_line_1": "123 Main Street",
"address_line_2": "Apt 4B",
"landmark": "Near Central Park",
"country_id": 1,
"state_id": 1,
"city_id": 1,
"postal_code": "12345"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific customer
Retrieve detailed information about a specific customer.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/customer/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/customer/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Customer retrieved successfully",
"data": {
"id": 1,
"user": {
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"profile": {
"phone": "1234567890",
"phone_country_code": {
"id": 1,
"phone_code": "+1",
"intl_dialing_prefix": "1"
}
}
}
}
Example response (404):
{
"success": false,
"message": "Customer not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a customer
Update customer information and profile details.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/customer/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"john@example.com\",
\"phone\": \"1234567890\",
\"phone_country_code_id\": 1,
\"notes\": \"VIP customer with special requirements.\",
\"address_line_1\": \"123 Main Street\",
\"address_line_2\": \"Apt 4B\",
\"landmark\": \"Near Central Park\",
\"country_id\": 1,
\"state_id\": 1,
\"city_id\": 1,
\"postal_code\": \"12345\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/customer/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"phone": "1234567890",
"phone_country_code_id": 1,
"notes": "VIP customer with special requirements.",
"address_line_1": "123 Main Street",
"address_line_2": "Apt 4B",
"landmark": "Near Central Park",
"country_id": 1,
"state_id": 1,
"city_id": 1,
"postal_code": "12345"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a customer
Update customer information and profile details.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/customer/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"john@example.com\",
\"phone\": \"1234567890\",
\"phone_country_code_id\": 1,
\"notes\": \"VIP customer with special requirements.\",
\"address_line_1\": \"123 Main Street\",
\"address_line_2\": \"Apt 4B\",
\"landmark\": \"Near Central Park\",
\"country_id\": 1,
\"state_id\": 1,
\"city_id\": 1,
\"postal_code\": \"12345\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/customer/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"phone": "1234567890",
"phone_country_code_id": 1,
"notes": "VIP customer with special requirements.",
"address_line_1": "123 Main Street",
"address_line_2": "Apt 4B",
"landmark": "Near Central Park",
"country_id": 1,
"state_id": 1,
"city_id": 1,
"postal_code": "12345"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a customer
Delete a customer account and all associated data. This will also delete the user account.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/customer/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/customer/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Customer deleted successfully",
"data": []
}
Example response (404):
{
"success": false,
"message": "Customer not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Disputes
GET api/v1/admin/dispute
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/dispute" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/dispute"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/admin/dispute/{id}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/dispute/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/dispute/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/admin/dispute/{id}/status
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/dispute/architecto/status" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"closed\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/dispute/architecto/status"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "closed"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - FAQ Management
APIs for managing FAQs for mentee and mentor pages. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/faq
Get list of FAQs
Optionally filter by page_type (mentee|mentor) and is_active.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/faq?page_type=mentee&is_active=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/faq"
);
const params = {
"page_type": "mentee",
"is_active": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new FAQ
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/faq" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page_type\": \"mentee\",
\"heading\": \"What is a mentee?\",
\"description\": \"A mentee is...\",
\"is_active\": true,
\"sort_order\": 1
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/faq"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page_type": "mentee",
"heading": "What is a mentee?",
"description": "A mentee is...",
"is_active": true,
"sort_order": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific FAQ
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/faq/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/faq/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an existing FAQ
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/faq/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page_type\": \"mentor\",
\"heading\": \"architecto\",
\"description\": \"Eius et animi quos velit et.\",
\"is_active\": false,
\"sort_order\": 16
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/faq/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page_type": "mentor",
"heading": "architecto",
"description": "Eius et animi quos velit et.",
"is_active": false,
"sort_order": 16
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an existing FAQ
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/faq/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page_type\": \"mentor\",
\"heading\": \"architecto\",
\"description\": \"Eius et animi quos velit et.\",
\"is_active\": false,
\"sort_order\": 16
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/faq/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page_type": "mentor",
"heading": "architecto",
"description": "Eius et animi quos velit et.",
"is_active": false,
"sort_order": 16
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete an FAQ
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/faq/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/faq/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
FAQ (Public)
Public APIs for retrieving FAQs for mentee and mentor pages. No authentication required.
Routes are prefixed with: /api/v1/faq
Get FAQs for a given page type
Returns all active FAQs for the specified page (mentee or mentor), ordered by sort_order and id.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/faq/mentee" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/faq/mentee"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": true,
"message": "FAQs retrieved successfully",
"data": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Goal Type Management
APIs for managing goal types. Admin enters only the Goal Type Name. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/goal-type
Get list of all goal types
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/goal-type?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/goal-type"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new goal type
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/goal-type" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Fitness\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/goal-type"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Fitness"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific goal type
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/goal-type/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/goal-type/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a goal type
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/goal-type/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Fitness\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/goal-type/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Fitness"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a goal type
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/goal-type/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Fitness\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/goal-type/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Fitness"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a goal type
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/goal-type/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/goal-type/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Habit Type Management
APIs for managing habit types. Admin enters only the Habit Type Name. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/habit-type
Get list of all habit types
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/habit-type?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/habit-type"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new habit type
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/habit-type" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Daily Exercise\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/habit-type"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Daily Exercise"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific habit type
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/habit-type/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/habit-type/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a habit type
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/habit-type/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Daily Exercise\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/habit-type/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Daily Exercise"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a habit type
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/habit-type/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Daily Exercise\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/habit-type/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Daily Exercise"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a habit type
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/habit-type/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/habit-type/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Home Page (CMS)
APIs for managing the Home page content (Hero, About Us, Programs, Why Choose Us, Coaches, Articles). Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/home-page
Get home page data (admin)
Returns the full home page content for editing.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/home-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/home-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update home page
Update any section. All sections are optional. Use multipart/form-data for image uploads.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/home-page" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "section_01[hero_headline]=b"\
--form "section_01[hero_description]=n"\
--form "section_02[headline]=g"\
--form "section_02[secondary_headline]=z"\
--form "section_02[description]=Velit et fugiat sunt nihil accusantium."\
--form "section_02[button_name]=n"\
--form "section_02[button_url]=https://www.runte.com/ab-provident-perspiciatis-quo-omnis-nostrum-aut-adipisci"\
--form "section_03[headline]=p"\
--form "section_03[secondary_headline]=w"\
--form "section_04[headline]=l"\
--form "section_04[secondary_headline]=v"\
--form "section_04[options][][id]=16"\
--form "section_04[options][][title]=n"\
--form "section_04[options][][description]=Animi quos velit et fugiat."\
--form "section_04[options][][sort_order]=42"\
--form "section_05[headline]=q"\
--form "section_05[secondary_headline]=w"\
--form "section_06[headline]=r"\
--form "section_06[secondary_headline]=s"\
--form "section_01[hero_section_image]=@C:\Users\AMITB\AppData\Local\Temp\php3B56.tmp" \
--form "section_02[about_us_section_image]=@C:\Users\AMITB\AppData\Local\Temp\php3B57.tmp" \
--form "section_04[why_choose_us_section_image]=@C:\Users\AMITB\AppData\Local\Temp\php3B58.tmp" --form "section_04[background_image]=@C:\Users\AMITB\AppData\Local\Temp\php3B59.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/home-page"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('section_01[hero_headline]', 'b');
body.append('section_01[hero_description]', 'n');
body.append('section_02[headline]', 'g');
body.append('section_02[secondary_headline]', 'z');
body.append('section_02[description]', 'Velit et fugiat sunt nihil accusantium.');
body.append('section_02[button_name]', 'n');
body.append('section_02[button_url]', 'https://www.runte.com/ab-provident-perspiciatis-quo-omnis-nostrum-aut-adipisci');
body.append('section_03[headline]', 'p');
body.append('section_03[secondary_headline]', 'w');
body.append('section_04[headline]', 'l');
body.append('section_04[secondary_headline]', 'v');
body.append('section_04[options][][id]', '16');
body.append('section_04[options][][title]', 'n');
body.append('section_04[options][][description]', 'Animi quos velit et fugiat.');
body.append('section_04[options][][sort_order]', '42');
body.append('section_05[headline]', 'q');
body.append('section_05[secondary_headline]', 'w');
body.append('section_06[headline]', 'r');
body.append('section_06[secondary_headline]', 's');
body.append('section_01[hero_section_image]', document.querySelector('input[name="section_01[hero_section_image]"]').files[0]);
body.append('section_02[about_us_section_image]', document.querySelector('input[name="section_02[about_us_section_image]"]').files[0]);
body.append('section_04[why_choose_us_section_image]', document.querySelector('input[name="section_04[why_choose_us_section_image]"]').files[0]);
body.append('section_04[background_image]', document.querySelector('input[name="section_04[background_image]"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update home page
Update any section. All sections are optional. Use multipart/form-data for image uploads.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/home-page" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "section_01[hero_headline]=b"\
--form "section_01[hero_description]=n"\
--form "section_02[headline]=g"\
--form "section_02[secondary_headline]=z"\
--form "section_02[description]=Velit et fugiat sunt nihil accusantium."\
--form "section_02[button_name]=n"\
--form "section_02[button_url]=https://www.runte.com/ab-provident-perspiciatis-quo-omnis-nostrum-aut-adipisci"\
--form "section_03[headline]=p"\
--form "section_03[secondary_headline]=w"\
--form "section_04[headline]=l"\
--form "section_04[secondary_headline]=v"\
--form "section_04[options][][id]=16"\
--form "section_04[options][][title]=n"\
--form "section_04[options][][description]=Animi quos velit et fugiat."\
--form "section_04[options][][sort_order]=42"\
--form "section_05[headline]=q"\
--form "section_05[secondary_headline]=w"\
--form "section_06[headline]=r"\
--form "section_06[secondary_headline]=s"\
--form "section_01[hero_section_image]=@C:\Users\AMITB\AppData\Local\Temp\php3B6A.tmp" \
--form "section_02[about_us_section_image]=@C:\Users\AMITB\AppData\Local\Temp\php3B6B.tmp" \
--form "section_04[why_choose_us_section_image]=@C:\Users\AMITB\AppData\Local\Temp\php3B6C.tmp" --form "section_04[background_image]=@C:\Users\AMITB\AppData\Local\Temp\php3B6D.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/home-page"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('section_01[hero_headline]', 'b');
body.append('section_01[hero_description]', 'n');
body.append('section_02[headline]', 'g');
body.append('section_02[secondary_headline]', 'z');
body.append('section_02[description]', 'Velit et fugiat sunt nihil accusantium.');
body.append('section_02[button_name]', 'n');
body.append('section_02[button_url]', 'https://www.runte.com/ab-provident-perspiciatis-quo-omnis-nostrum-aut-adipisci');
body.append('section_03[headline]', 'p');
body.append('section_03[secondary_headline]', 'w');
body.append('section_04[headline]', 'l');
body.append('section_04[secondary_headline]', 'v');
body.append('section_04[options][][id]', '16');
body.append('section_04[options][][title]', 'n');
body.append('section_04[options][][description]', 'Animi quos velit et fugiat.');
body.append('section_04[options][][sort_order]', '42');
body.append('section_05[headline]', 'q');
body.append('section_05[secondary_headline]', 'w');
body.append('section_06[headline]', 'r');
body.append('section_06[secondary_headline]', 's');
body.append('section_01[hero_section_image]', document.querySelector('input[name="section_01[hero_section_image]"]').files[0]);
body.append('section_02[about_us_section_image]', document.querySelector('input[name="section_02[about_us_section_image]"]').files[0]);
body.append('section_04[why_choose_us_section_image]', document.querySelector('input[name="section_04[why_choose_us_section_image]"]').files[0]);
body.append('section_04[background_image]', document.querySelector('input[name="section_04[background_image]"]').files[0]);
fetch(url, {
method: "PATCH",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Home Page (Public)
Public API for retrieving the Home page content for the frontend. No authentication required.
Routes are prefixed with: /api/v1/home-page
Get home page
Returns all home page sections: Hero, About Us, Programs, Why Choose Us, Coaches, Articles.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/home-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/home-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Home page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Values Intermediate Page (Intermediate Steps)
APIs for managing the Values Intermediate Page content (headline and points). Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/intermediate-steps/values
Get Values Intermediate Page content (admin)
Returns the headline and all points for editing.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/intermediate-steps/values" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Values Intermediate Page
Update headline and/or points. Send full points array to replace; existing points can be updated by id, new points without id will be created.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/values" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"architecto\",
\"points\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "architecto",
"points": [
"architecto"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Values Intermediate Page
Update headline and/or points. Send full points array to replace; existing points can be updated by id, new points without id will be created.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/values" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"architecto\",
\"points\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "architecto",
"points": [
"architecto"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - The Y Method Page (Intermediate Steps)
APIs for managing The Y Method Page content (headline and steps). Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/intermediate-steps/y-method
Get The Y Method Page content (admin)
Returns the headline and all steps for editing.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/intermediate-steps/y-method" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/y-method"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update The Y Method Page
Update headline and/or steps. Send full steps array to replace; existing steps can be updated by id, new steps without id will be created.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/y-method" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"architecto\",
\"steps\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/y-method"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "architecto",
"steps": [
"architecto"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update The Y Method Page
Update headline and/or steps. Send full steps array to replace; existing steps can be updated by id, new steps without id will be created.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/y-method" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"architecto\",
\"steps\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/y-method"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "architecto",
"steps": [
"architecto"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Eight most common mistakes Intermediate Page
APIs for managing the Eight most common mistakes page (headline and mistakes). Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/intermediate-steps/eight-most-common-mistakes
Get Eight most common mistakes page content (admin)
Returns the headline and all mistakes for editing.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/intermediate-steps/eight-most-common-mistakes" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/eight-most-common-mistakes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Eight most common mistakes page
Update headline and/or mistakes. Send full mistakes array to replace; existing items can be updated by id, new items without id will be created.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/eight-most-common-mistakes" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"architecto\",
\"mistakes\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/eight-most-common-mistakes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "architecto",
"mistakes": [
"architecto"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Eight most common mistakes page
Update headline and/or mistakes. Send full mistakes array to replace; existing items can be updated by id, new items without id will be created.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/eight-most-common-mistakes" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"architecto\",
\"mistakes\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/eight-most-common-mistakes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "architecto",
"mistakes": [
"architecto"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Goal Settings Intermediate Page
APIs for managing the Goal Settings Intermediate Page (headline, quote, sub-headings, description 2, options). Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/intermediate-steps/goal-settings
Get Goal Settings Intermediate Page content (admin)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/intermediate-steps/goal-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/goal-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Goal Settings Intermediate Page
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/goal-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"architecto\",
\"quote\": \"architecto\",
\"sub_heading_1\": \"architecto\",
\"sub_heading_2\": \"architecto\",
\"description_2\": \"architecto\",
\"options\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/goal-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "architecto",
"quote": "architecto",
"sub_heading_1": "architecto",
"sub_heading_2": "architecto",
"description_2": "architecto",
"options": [
"architecto"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Goal Settings Intermediate Page
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/goal-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"architecto\",
\"quote\": \"architecto\",
\"sub_heading_1\": \"architecto\",
\"sub_heading_2\": \"architecto\",
\"description_2\": \"architecto\",
\"options\": [
\"architecto\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/goal-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "architecto",
"quote": "architecto",
"sub_heading_1": "architecto",
"sub_heading_2": "architecto",
"description_2": "architecto",
"options": [
"architecto"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Questions for each goal - why? Intermediate Page
APIs for managing the Questions for each goal - why? page (headlines, question blocks, quote). Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/intermediate-steps/questions-goal-why
Get Questions for each goal - why? page content (admin)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/intermediate-steps/questions-goal-why" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/questions-goal-why"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Questions for each goal - why? page
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/questions-goal-why" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline_1\": \"b\",
\"headline_2\": \"n\",
\"headline_3\": \"g\",
\"headline_4\": \"z\",
\"headline_5\": \"m\",
\"question_heading_1\": \"i\",
\"question_description_1\": \"y\",
\"question_heading_2\": \"v\",
\"question_description_2\": \"d\",
\"question_heading_3\": \"l\",
\"question_description_3\": \"j\",
\"quote\": \"n\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/questions-goal-why"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline_1": "b",
"headline_2": "n",
"headline_3": "g",
"headline_4": "z",
"headline_5": "m",
"question_heading_1": "i",
"question_description_1": "y",
"question_heading_2": "v",
"question_description_2": "d",
"question_heading_3": "l",
"question_description_3": "j",
"quote": "n"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Questions for each goal - why? page
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/intermediate-steps/questions-goal-why" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline_1\": \"b\",
\"headline_2\": \"n\",
\"headline_3\": \"g\",
\"headline_4\": \"z\",
\"headline_5\": \"m\",
\"question_heading_1\": \"i\",
\"question_description_1\": \"y\",
\"question_heading_2\": \"v\",
\"question_description_2\": \"d\",
\"question_heading_3\": \"l\",
\"question_description_3\": \"j\",
\"quote\": \"n\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/intermediate-steps/questions-goal-why"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline_1": "b",
"headline_2": "n",
"headline_3": "g",
"headline_4": "z",
"headline_5": "m",
"question_heading_1": "i",
"question_description_1": "y",
"question_heading_2": "v",
"question_description_2": "d",
"question_heading_3": "l",
"question_description_3": "j",
"quote": "n"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Intermediate Steps - Values Page (Public)
Public API for retrieving the Values Intermediate Page content.
Routes are prefixed with: /api/v1/intermediate-steps
Get Values Intermediate Page content (public)
Returns the headline and points for display.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/intermediate-steps/values" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/intermediate-steps/values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Values Intermediate Page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Intermediate Steps - The Y Method Page (Public)
Public API for retrieving The Y Method Page content.
Routes are prefixed with: /api/v1/intermediate-steps
Get The Y Method Page content (public)
Returns the headline and steps for display.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/intermediate-steps/y-method" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/intermediate-steps/y-method"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "The Y Method Page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Intermediate Steps - Eight most common mistakes (Public)
Public API for retrieving the Eight most common mistakes page content.
Routes are prefixed with: /api/v1/intermediate-steps
Get Eight most common mistakes page content (public)
Returns the headline and mistakes for display.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/intermediate-steps/eight-most-common-mistakes" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/intermediate-steps/eight-most-common-mistakes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Eight most common mistakes page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Intermediate Steps - Goal Settings (Public)
Public API for retrieving the Goal Settings Intermediate Page content.
Get Goal Settings Intermediate Page content (public)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/intermediate-steps/goal-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/intermediate-steps/goal-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Goal Settings Intermediate Page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Intermediate Steps - Questions for each goal - why? (Public)
Public API for retrieving the Questions for each goal - why? page content.
Get Questions for each goal - why? page content (public)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/intermediate-steps/questions-goal-why" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/intermediate-steps/questions-goal-why"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Questions for each goal - why? page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Legal Pages (CMS)
APIs for managing legal pages (privacy policy, refund policy, terms & conditions). Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/legal-page
List all legal pages
Returns all legal pages (privacy policy, refund policy, terms & conditions).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/legal-page" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/legal-page"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"success":true,"message":"Legal pages retrieved successfully","data":[{"id":1,"slug":"privacy-policy","content":"...","updated_at":"..."},...]}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a legal page by slug (admin)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/legal-page/privacy-policy" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/legal-page/privacy-policy"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a legal page
Update the content of a legal page. Slug cannot be changed.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/legal-page/privacy-policy" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"content\": \"<p>Privacy policy content...<\\/p>\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/legal-page/privacy-policy"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"content": "<p>Privacy policy content...<\/p>"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{"success":true,"message":"Legal page updated successfully","data":{...}}
Example response (404):
{
"success": false,
"message": "Legal page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a legal page
Update the content of a legal page. Slug cannot be changed.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/legal-page/privacy-policy" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"content\": \"<p>Privacy policy content...<\\/p>\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/legal-page/privacy-policy"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"content": "<p>Privacy policy content...<\/p>"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{"success":true,"message":"Legal page updated successfully","data":{...}}
Example response (404):
{
"success": false,
"message": "Legal page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Legal Pages (Public)
Public APIs for retrieving legal page content (privacy policy, refund policy, terms & conditions). No authentication required.
Routes are prefixed with: /api/v1/legal-page
Get a legal page by slug
Returns the content for the given legal page. Valid slugs: privacy-policy, refund-policy, terms-conditions.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/legal-page/privacy-policy" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/legal-page/privacy-policy"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Legal page retrieved successfully",
"data": {
"id": 1,
"slug": "privacy-policy",
"content": "...",
"updated_at": "2026-02-04T14:00:00+00:00"
}
}
Example response (404):
{
"success": false,
"message": "Legal page not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Location
APIs for retrieving location data including countries, states, cities, and phone country codes.
Get list of all countries
Retrieve a list of all available countries.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/location/countries" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/location/countries"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Countries retrieved successfully",
"data": [
{
"id": 1,
"name": "United States"
},
{
"id": 2,
"name": "Canada"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get list of all states for a specific country
Retrieve a list of all states/provinces for a given country.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/location/countries/1/states" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/location/countries/1/states"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "States retrieved successfully",
"data": [
{
"id": 1,
"country_id": 1,
"name": "California"
},
{
"id": 2,
"country_id": 1,
"name": "New York"
}
]
}
Example response (404):
{
"success": false,
"message": "Country not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get list of all cities for a specific state
Retrieve a list of all cities for a given state/province.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/location/states/1/cities" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/location/states/1/cities"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Cities retrieved successfully",
"data": [
{
"id": 1,
"state_id": 1,
"name": "Los Angeles"
},
{
"id": 2,
"state_id": 1,
"name": "San Francisco"
}
]
}
Example response (404):
{
"success": false,
"message": "State not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get list of all phone country codes
Retrieve a list of all phone country codes. Optionally filter by country ID.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/location/phone-country-codes?country_id=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/location/phone-country-codes"
);
const params = {
"country_id": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Phone country codes retrieved successfully",
"data": [
{
"id": 1,
"phone_code": "+1"
},
{
"id": 2,
"phone_code": "+91"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Program Category Management
APIs for managing program categories and sub-categories. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/program-category
Get list of program categories
Optional filter: parent_id=null or omitted for all; parent_id=0 for roots only; parent_id={id} for children of that category.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program-category?page=1&per_page=15&parent_id=" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program-category"
);
const params = {
"page": "1",
"per_page": "15",
"parent_id": "",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new program category or sub-category
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program-category" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"parent_id\": null,
\"name\": \"Personal Training\",
\"slug\": \"personal-training\",
\"description\": \"One-on-one fitness coaching sessions.\",
\"sort_order\": 0,
\"is_active\": true
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program-category"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"parent_id": null,
"name": "Personal Training",
"slug": "personal-training",
"description": "One-on-one fitness coaching sessions.",
"sort_order": 0,
"is_active": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific program category
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a program category
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Personal Training\",
\"slug\": \"personal-training\",
\"description\": \"One-on-one fitness coaching sessions.\",
\"sort_order\": 0,
\"is_active\": true
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Personal Training",
"slug": "personal-training",
"description": "One-on-one fitness coaching sessions.",
"sort_order": 0,
"is_active": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a program category
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Personal Training\",
\"slug\": \"personal-training\",
\"description\": \"One-on-one fitness coaching sessions.\",
\"sort_order\": 0,
\"is_active\": true
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Personal Training",
"slug": "personal-training",
"description": "One-on-one fitness coaching sessions.",
"sort_order": 0,
"is_active": true
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a program category
Children will have their parent_id set to null (become root-level) via onDelete('set null').
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program Categories (Public)
Public APIs for listing program categories and sub-categories. No authentication required. Returns only active categories. Use parent_id filter or nested=1 for tree.
All routes are prefixed with: /api/v1/program-category
List active program categories
Optional: parent_id=null (or 0) for root-level only; parent_id={id} for children of that category. Optional: nested=1 to return root categories with their active children nested.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program-category?page=1&per_page=15&parent_id=&nested=0" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program-category"
);
const params = {
"page": "1",
"per_page": "15",
"parent_id": "",
"nested": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": true,
"message": "Program categories retrieved successfully",
"data": {
"data": [],
"links": {
"first": "https://ruhline-api.test/api/v1/program-category?page=1",
"last": "https://ruhline-api.test/api/v1/program-category?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": null,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://ruhline-api.test/api/v1/program-category?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://ruhline-api.test/api/v1/program-category",
"per_page": 15,
"to": null,
"total": 0
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a single active program category (optionally with children)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program-category/1?with_children=0" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program-category/1"
);
const params = {
"with_children": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Program category not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Program Management
APIs for managing programs. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/program
Get list of programs
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program?page=1&per_page=15&program_category_id=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program"
);
const params = {
"page": "1",
"per_page": "15",
"program_category_id": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new program
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=b"\
--form "program_category_id=16"\
--form "description=Eius et animi quos velit et."\
--form "occurrence_type=one_time"\
--form "session_duration_minutes=120"\
--form "tenure_weeks=1"\
--form "sessions_per_week=1"\
--form "sale_price=37"\
--form "original_price=9"\
--form "coach_commission_type=global"\
--form "custom_commission_rate=17"\
--form "coach_ids[]=16"\
--form "tag=new"\
--form "faqs[][heading]=n"\
--form "faqs[][description]=Eius et animi quos velit et."\
--form "faqs[][sort_order]=60"\
--form "benefits[][description]=Eius et animi quos velit et."\
--form "benefits[][sort_order]=60"\
--form "how_it_works[][description]=Eius et animi quos velit et."\
--form "how_it_works[][sort_order]=60"\
--form "main_image=@C:\Users\AMITB\AppData\Local\Temp\php3C59.tmp" \
--form "gallery_images[]=@C:\Users\AMITB\AppData\Local\Temp\php3C5A.tmp" \
--form "faqs_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C5B.tmp" \
--form "benefits_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C5C.tmp" \
--form "how_it_works_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C5D.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/program"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'b');
body.append('program_category_id', '16');
body.append('description', 'Eius et animi quos velit et.');
body.append('occurrence_type', 'one_time');
body.append('session_duration_minutes', '120');
body.append('tenure_weeks', '1');
body.append('sessions_per_week', '1');
body.append('sale_price', '37');
body.append('original_price', '9');
body.append('coach_commission_type', 'global');
body.append('custom_commission_rate', '17');
body.append('coach_ids[]', '16');
body.append('tag', 'new');
body.append('faqs[][heading]', 'n');
body.append('faqs[][description]', 'Eius et animi quos velit et.');
body.append('faqs[][sort_order]', '60');
body.append('benefits[][description]', 'Eius et animi quos velit et.');
body.append('benefits[][sort_order]', '60');
body.append('how_it_works[][description]', 'Eius et animi quos velit et.');
body.append('how_it_works[][sort_order]', '60');
body.append('main_image', document.querySelector('input[name="main_image"]').files[0]);
body.append('gallery_images[]', document.querySelector('input[name="gallery_images[]"]').files[0]);
body.append('faqs_section_image', document.querySelector('input[name="faqs_section_image"]').files[0]);
body.append('benefits_section_image', document.querySelector('input[name="benefits_section_image"]').files[0]);
body.append('how_it_works_section_image', document.querySelector('input[name="how_it_works_section_image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific program
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a program
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=b"\
--form "program_category_id=16"\
--form "description=Eius et animi quos velit et."\
--form "occurrence_type=recurring"\
--form "session_duration_minutes=45"\
--form "tenure_weeks=1"\
--form "sessions_per_week=1"\
--form "sale_price=37"\
--form "original_price=9"\
--form "coach_commission_type=global"\
--form "custom_commission_rate=17"\
--form "coach_ids[]=16"\
--form "tag=new"\
--form "faqs[][id]=16"\
--form "faqs[][heading]=n"\
--form "faqs[][description]=Eius et animi quos velit et."\
--form "faqs[][sort_order]=60"\
--form "benefits[][id]=16"\
--form "benefits[][description]=Eius et animi quos velit et."\
--form "benefits[][sort_order]=60"\
--form "how_it_works[][id]=16"\
--form "how_it_works[][description]=Eius et animi quos velit et."\
--form "how_it_works[][sort_order]=60"\
--form "main_image=@C:\Users\AMITB\AppData\Local\Temp\php3C7E.tmp" \
--form "gallery_images[]=@C:\Users\AMITB\AppData\Local\Temp\php3C7F.tmp" \
--form "faqs_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C80.tmp" \
--form "benefits_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C81.tmp" \
--form "how_it_works_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C82.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'b');
body.append('program_category_id', '16');
body.append('description', 'Eius et animi quos velit et.');
body.append('occurrence_type', 'recurring');
body.append('session_duration_minutes', '45');
body.append('tenure_weeks', '1');
body.append('sessions_per_week', '1');
body.append('sale_price', '37');
body.append('original_price', '9');
body.append('coach_commission_type', 'global');
body.append('custom_commission_rate', '17');
body.append('coach_ids[]', '16');
body.append('tag', 'new');
body.append('faqs[][id]', '16');
body.append('faqs[][heading]', 'n');
body.append('faqs[][description]', 'Eius et animi quos velit et.');
body.append('faqs[][sort_order]', '60');
body.append('benefits[][id]', '16');
body.append('benefits[][description]', 'Eius et animi quos velit et.');
body.append('benefits[][sort_order]', '60');
body.append('how_it_works[][id]', '16');
body.append('how_it_works[][description]', 'Eius et animi quos velit et.');
body.append('how_it_works[][sort_order]', '60');
body.append('main_image', document.querySelector('input[name="main_image"]').files[0]);
body.append('gallery_images[]', document.querySelector('input[name="gallery_images[]"]').files[0]);
body.append('faqs_section_image', document.querySelector('input[name="faqs_section_image"]').files[0]);
body.append('benefits_section_image', document.querySelector('input[name="benefits_section_image"]').files[0]);
body.append('how_it_works_section_image', document.querySelector('input[name="how_it_works_section_image"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a program
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=b"\
--form "program_category_id=16"\
--form "description=Eius et animi quos velit et."\
--form "occurrence_type=recurring"\
--form "session_duration_minutes=210"\
--form "tenure_weeks=1"\
--form "sessions_per_week=1"\
--form "sale_price=37"\
--form "original_price=9"\
--form "coach_commission_type=global"\
--form "custom_commission_rate=17"\
--form "coach_ids[]=16"\
--form "tag=new"\
--form "faqs[][id]=16"\
--form "faqs[][heading]=n"\
--form "faqs[][description]=Eius et animi quos velit et."\
--form "faqs[][sort_order]=60"\
--form "benefits[][id]=16"\
--form "benefits[][description]=Eius et animi quos velit et."\
--form "benefits[][sort_order]=60"\
--form "how_it_works[][id]=16"\
--form "how_it_works[][description]=Eius et animi quos velit et."\
--form "how_it_works[][sort_order]=60"\
--form "main_image=@C:\Users\AMITB\AppData\Local\Temp\php3C92.tmp" \
--form "gallery_images[]=@C:\Users\AMITB\AppData\Local\Temp\php3C93.tmp" \
--form "faqs_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C94.tmp" \
--form "benefits_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C95.tmp" \
--form "how_it_works_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3C96.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'b');
body.append('program_category_id', '16');
body.append('description', 'Eius et animi quos velit et.');
body.append('occurrence_type', 'recurring');
body.append('session_duration_minutes', '210');
body.append('tenure_weeks', '1');
body.append('sessions_per_week', '1');
body.append('sale_price', '37');
body.append('original_price', '9');
body.append('coach_commission_type', 'global');
body.append('custom_commission_rate', '17');
body.append('coach_ids[]', '16');
body.append('tag', 'new');
body.append('faqs[][id]', '16');
body.append('faqs[][heading]', 'n');
body.append('faqs[][description]', 'Eius et animi quos velit et.');
body.append('faqs[][sort_order]', '60');
body.append('benefits[][id]', '16');
body.append('benefits[][description]', 'Eius et animi quos velit et.');
body.append('benefits[][sort_order]', '60');
body.append('how_it_works[][id]', '16');
body.append('how_it_works[][description]', 'Eius et animi quos velit et.');
body.append('how_it_works[][sort_order]', '60');
body.append('main_image', document.querySelector('input[name="main_image"]').files[0]);
body.append('gallery_images[]', document.querySelector('input[name="gallery_images[]"]').files[0]);
body.append('faqs_section_image', document.querySelector('input[name="faqs_section_image"]').files[0]);
body.append('benefits_section_image', document.querySelector('input[name="benefits_section_image"]').files[0]);
body.append('how_it_works_section_image', document.querySelector('input[name="how_it_works_section_image"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a program
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/1" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "name=b"\
--form "program_category_id=16"\
--form "description=Eius et animi quos velit et."\
--form "occurrence_type=recurring"\
--form "session_duration_minutes=45"\
--form "tenure_weeks=1"\
--form "sessions_per_week=1"\
--form "sale_price=37"\
--form "original_price=9"\
--form "coach_commission_type=global"\
--form "custom_commission_rate=24"\
--form "coach_ids[]=16"\
--form "tag=bestselling"\
--form "faqs[][id]=16"\
--form "faqs[][heading]=n"\
--form "faqs[][description]=Eius et animi quos velit et."\
--form "faqs[][sort_order]=60"\
--form "benefits[][id]=16"\
--form "benefits[][description]=Eius et animi quos velit et."\
--form "benefits[][sort_order]=60"\
--form "how_it_works[][id]=16"\
--form "how_it_works[][description]=Eius et animi quos velit et."\
--form "how_it_works[][sort_order]=60"\
--form "main_image=@C:\Users\AMITB\AppData\Local\Temp\php3CA7.tmp" \
--form "gallery_images[]=@C:\Users\AMITB\AppData\Local\Temp\php3CA8.tmp" \
--form "faqs_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3CA9.tmp" \
--form "benefits_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3CAA.tmp" \
--form "how_it_works_section_image=@C:\Users\AMITB\AppData\Local\Temp\php3CAB.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/1"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('name', 'b');
body.append('program_category_id', '16');
body.append('description', 'Eius et animi quos velit et.');
body.append('occurrence_type', 'recurring');
body.append('session_duration_minutes', '45');
body.append('tenure_weeks', '1');
body.append('sessions_per_week', '1');
body.append('sale_price', '37');
body.append('original_price', '9');
body.append('coach_commission_type', 'global');
body.append('custom_commission_rate', '24');
body.append('coach_ids[]', '16');
body.append('tag', 'bestselling');
body.append('faqs[][id]', '16');
body.append('faqs[][heading]', 'n');
body.append('faqs[][description]', 'Eius et animi quos velit et.');
body.append('faqs[][sort_order]', '60');
body.append('benefits[][id]', '16');
body.append('benefits[][description]', 'Eius et animi quos velit et.');
body.append('benefits[][sort_order]', '60');
body.append('how_it_works[][id]', '16');
body.append('how_it_works[][description]', 'Eius et animi quos velit et.');
body.append('how_it_works[][sort_order]', '60');
body.append('main_image', document.querySelector('input[name="main_image"]').files[0]);
body.append('gallery_images[]', document.querySelector('input[name="gallery_images[]"]').files[0]);
body.append('faqs_section_image', document.querySelector('input[name="faqs_section_image"]').files[0]);
body.append('benefits_section_image', document.querySelector('input[name="benefits_section_image"]').files[0]);
body.append('how_it_works_section_image', document.querySelector('input[name="how_it_works_section_image"]').files[0]);
fetch(url, {
method: "PATCH",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a single gallery image from a program
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/1/gallery/5" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/1/gallery/5"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a program
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Program Reviews
GET api/v1/admin/review
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/review" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/review"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/admin/review/{id}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/review/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/review/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Program Settings
APIs for managing program settings (Quote Category and Card Category per program). Used to select which quote category and card category are used for this program (e.g. for future quotes and cards modules).
Routes: /api/v1/admin/program/{id}/settings
Get program settings (quote category and card category).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update program settings (set or change quote category and/or card category).
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quote_category_id\": 16,
\"card_category_id\": 16,
\"coach_can_edit_modules\": false,
\"coach_editable_module_types\": [
\"wheel_of_life\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"quote_category_id": 16,
"card_category_id": 16,
"coach_can_edit_modules": false,
"coach_editable_module_types": [
"wheel_of_life"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update program settings (set or change quote category and/or card category).
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quote_category_id\": 16,
\"card_category_id\": 16,
\"coach_can_edit_modules\": true,
\"coach_editable_module_types\": [
\"who_am_i\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"quote_category_id": 16,
"card_category_id": 16,
"coach_can_edit_modules": true,
"coach_editable_module_types": [
"who_am_i"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Program Structure
APIs for managing program structure (ordered modules) and module content. Routes: /api/v1/admin/program/{id}/structure
List program structure (all modules in order).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a module to the program structure.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"module_type\": \"who_am_i\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"module_type": "who_am_i"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder modules in the program structure.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder modules in the program structure.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove a module from the program structure.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List words for a Find your Motivation module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a word to a Find your Motivation module.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"word\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"word": "b"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder words in a Find your Motivation module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder words in a Find your Motivation module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a word in a Find your Motivation module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"word\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"word": "b"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a word in a Find your Motivation module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"word\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"word": "b"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a word from a Find your Motivation module.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/words/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List questions for a Values module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a question to a Values module.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"single_choice\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "single_choice",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder questions in a Values module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder questions in a Values module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question in a Values module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"descriptive\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "descriptive",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question in a Values module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"dropdown\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "dropdown",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a question from a Values module.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/values/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List questions for a Who am I module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a question to a Who am I module.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"descriptive\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "descriptive",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder questions in a Who am I module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder questions in a Who am I module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question in a Who am I module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"single_choice\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "single_choice",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question in a Who am I module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"descriptive\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "descriptive",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a question from a Who am I module.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/who-am-i/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List question sets for a Card Game module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder question sets in a Card Game module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder question sets in a Card Game module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question set (e.g. rename title) in a Card Game module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "b"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question set (e.g. rename title) in a Card Game module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "b"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a question set from a Card Game module.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List questions in a Card Game question set.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a question to a Card Game question set.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"descriptive\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "descriptive",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder questions in a Card Game question set.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder questions in a Card Game question set.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question in a Card Game question set.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"dropdown\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "dropdown",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question in a Card Game question set.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"single_choice\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "single_choice",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a question from a Card Game question set.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/question-sets/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List cards for a Card Game module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a new card to a Card Game module.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"description\": \"Eius et animi quos velit et.\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"description": "Eius et animi quos velit et."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder cards in a Card Game module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder cards in a Card Game module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a card in a Card Game module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"description\": \"Eius et animi quos velit et.\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"description": "Eius et animi quos velit et."
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a card in a Card Game module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"description\": \"Eius et animi quos velit et.\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"description": "Eius et animi quos velit et."
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a card from a Card Game module.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/card-game/cards/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List documents for an Upload Documents module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload one or more documents to an Upload Documents module.
Single file: multipart field "file" (optional "original_name"). Multiple files: multipart field "files[]" (array of files).
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "original_name=b"\
--form "file=@C:\Users\AMITB\AppData\Local\Temp\php3DA6.tmp" \
--form "files[]=@C:\Users\AMITB\AppData\Local\Temp\php3DA7.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('original_name', 'b');
body.append('file', document.querySelector('input[name="file"]').files[0]);
body.append('files[]', document.querySelector('input[name="files[]"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder documents in an Upload Documents module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder documents in an Upload Documents module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a document (e.g. display name) in an Upload Documents module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"original_name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"original_name": "b"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a document (e.g. display name) in an Upload Documents module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"original_name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"original_name": "b"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a document from an Upload Documents module.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/upload-documents/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List life elements for a Wheel of Life module.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a life element to a Wheel of Life module.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder life elements in a Wheel of Life module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder life elements in a Wheel of Life module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a life element in a Wheel of Life module.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a life element in a Wheel of Life module.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a life element from a Wheel of Life module.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List questions for a Wheel of Life life element.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add a question to a Wheel of Life life element.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"single_choice\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "single_choice",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder questions in a Wheel of Life life element.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reorder questions in a Wheel of Life life element.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/reorder" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"order\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/reorder"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"order": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question in a Wheel of Life life element.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"single_choice\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "single_choice",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a question in a Wheel of Life life element.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"descriptive\",
\"question_text\": \"b\",
\"options\": [
\"n\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "descriptive",
"question_text": "b",
"options": [
"n"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a question from a Wheel of Life life element.
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/wheel-of-life/elements/architecto/questions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Values page – show.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-values" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Values page – update.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-values" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"b\",
\"points\": [
{
\"id\": 16,
\"description\": \"Et animi quos velit et fugiat.\",
\"sort_order\": 42
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "b",
"points": [
{
"id": 16,
"description": "Et animi quos velit et fugiat.",
"sort_order": 42
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Values page – update.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-values" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"b\",
\"points\": [
{
\"id\": 16,
\"description\": \"Et animi quos velit et fugiat.\",
\"sort_order\": 42
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-values"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "b",
"points": [
{
"id": 16,
"description": "Et animi quos velit et fugiat.",
"sort_order": 42
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Eight most common mistakes page – show.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-eight-most-common-mistakes" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-eight-most-common-mistakes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Eight most common mistakes page – update.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-eight-most-common-mistakes" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"b\",
\"mistakes\": [
{
\"id\": 16,
\"description\": \"Et animi quos velit et fugiat.\",
\"sort_order\": 42
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-eight-most-common-mistakes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "b",
"mistakes": [
{
"id": 16,
"description": "Et animi quos velit et fugiat.",
"sort_order": 42
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Eight most common mistakes page – update.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-eight-most-common-mistakes" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"b\",
\"mistakes\": [
{
\"id\": 16,
\"description\": \"Et animi quos velit et fugiat.\",
\"sort_order\": 42
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-eight-most-common-mistakes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "b",
"mistakes": [
{
"id": 16,
"description": "Et animi quos velit et fugiat.",
"sort_order": 42
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Goal Settings page – show.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-goal-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-goal-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Goal Settings page – update.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-goal-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"b\",
\"quote\": \"n\",
\"sub_heading_1\": \"g\",
\"sub_heading_2\": \"z\",
\"description_2\": \"m\",
\"options\": [
{
\"id\": 16,
\"description\": \"Et animi quos velit et fugiat.\",
\"sort_order\": 42
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-goal-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "b",
"quote": "n",
"sub_heading_1": "g",
"sub_heading_2": "z",
"description_2": "m",
"options": [
{
"id": 16,
"description": "Et animi quos velit et fugiat.",
"sort_order": 42
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Goal Settings page – update.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-goal-settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"b\",
\"quote\": \"n\",
\"sub_heading_1\": \"g\",
\"sub_heading_2\": \"z\",
\"description_2\": \"m\",
\"options\": [
{
\"id\": 16,
\"description\": \"Et animi quos velit et fugiat.\",
\"sort_order\": 42
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-goal-settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "b",
"quote": "n",
"sub_heading_1": "g",
"sub_heading_2": "z",
"description_2": "m",
"options": [
{
"id": 16,
"description": "Et animi quos velit et fugiat.",
"sort_order": 42
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Questions Goal Why page – show.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-questions-goal-why" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-questions-goal-why"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Questions Goal Why page – update.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-questions-goal-why" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline_1\": \"b\",
\"headline_2\": \"n\",
\"headline_3\": \"g\",
\"headline_4\": \"z\",
\"headline_5\": \"m\",
\"question_heading_1\": \"i\",
\"question_description_1\": \"y\",
\"question_heading_2\": \"v\",
\"question_description_2\": \"d\",
\"question_heading_3\": \"l\",
\"question_description_3\": \"j\",
\"quote\": \"n\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-questions-goal-why"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline_1": "b",
"headline_2": "n",
"headline_3": "g",
"headline_4": "z",
"headline_5": "m",
"question_heading_1": "i",
"question_description_1": "y",
"question_heading_2": "v",
"question_description_2": "d",
"question_heading_3": "l",
"question_description_3": "j",
"quote": "n"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Questions Goal Why page – update.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-questions-goal-why" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline_1\": \"b\",
\"headline_2\": \"n\",
\"headline_3\": \"g\",
\"headline_4\": \"z\",
\"headline_5\": \"m\",
\"question_heading_1\": \"i\",
\"question_description_1\": \"y\",
\"question_heading_2\": \"v\",
\"question_description_2\": \"d\",
\"question_heading_3\": \"l\",
\"question_description_3\": \"j\",
\"quote\": \"n\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-questions-goal-why"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline_1": "b",
"headline_2": "n",
"headline_3": "g",
"headline_4": "z",
"headline_5": "m",
"question_heading_1": "i",
"question_description_1": "y",
"question_heading_2": "v",
"question_description_2": "d",
"question_heading_3": "l",
"question_description_3": "j",
"quote": "n"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Y Method page – show.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-y-method" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-y-method"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Y Method page – update.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-y-method" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"b\",
\"steps\": [
{
\"id\": 16,
\"description\": \"Et animi quos velit et fugiat.\",
\"sort_order\": 42
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-y-method"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "b",
"steps": [
{
"id": 16,
"description": "Et animi quos velit et fugiat.",
"sort_order": 42
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Program-specific intermediate Y Method page – update.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-y-method" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"headline\": \"b\",
\"steps\": [
{
\"id\": 16,
\"description\": \"Et animi quos velit et fugiat.\",
\"sort_order\": 42
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-y-method"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"headline": "b",
"steps": [
{
"id": 16,
"description": "Et animi quos velit et fugiat.",
"sort_order": 42
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complete setup for an intermediate module: choose global vs specific.
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-steps/complete-setup" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/program/architecto/structure/architecto/intermediate-steps/complete-setup"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Payouts
GET api/v1/admin/payout
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/payout" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/payout"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/admin/payout/settings
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/payout/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/payout/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/admin/payout/settings
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/payout/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"global_commission_rate\": 1,
\"payout_frequency\": \"14_days\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/payout/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"global_commission_rate": 1,
"payout_frequency": "14_days"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/admin/payout/settings
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/payout/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"global_commission_rate\": 1,
\"payout_frequency\": \"monthly\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/payout/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"global_commission_rate": 1,
"payout_frequency": "monthly"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/admin/payout/{id}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/payout/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/payout/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/admin/payout/{id}/status
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/payout/architecto/status" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "status=paid"\
--form "transaction_number=b"\
--form "payment_notes=n"\
--form "payment_receipt=@C:\Users\AMITB\AppData\Local\Temp\php3C29.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/payout/architecto/status"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('status', 'paid');
body.append('transaction_number', 'b');
body.append('payment_notes', 'n');
body.append('payment_receipt', document.querySelector('input[name="payment_receipt"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Quote Management
APIs for managing quotes within quote categories. Only accessible by admin users. Each category has unlimited quotes. Admin provides quote text when creating.
All routes are prefixed with: /api/v1/admin/quote-category/quotes
Get list of quotes
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/quote-category/quotes?page=1&per_page=15"e_category_id=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/quotes"
);
const params = {
"page": "1",
"per_page": "15",
"quote_category_id": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new quote
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/quote-category/quotes" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quote_category_id\": 1,
\"quote\": \"The only way to do great work is to love what you do.\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/quotes"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"quote_category_id": 1,
"quote": "The only way to do great work is to love what you do."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific quote
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/quote-category/quotes/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/quotes/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a quote
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/quote-category/quotes/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quote_category_id\": 16,
\"quote\": \"architecto\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/quotes/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"quote_category_id": 16,
"quote": "architecto"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a quote
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/quote-category/quotes/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quote_category_id\": 16,
\"quote\": \"architecto\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/quotes/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"quote_category_id": 16,
"quote": "architecto"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a quote
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/quote-category/quotes/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/quotes/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Quote Category Management
APIs for managing quote categories. Only accessible by admin users. Admin provides only the quote category name when creating.
All routes are prefixed with: /api/v1/admin/quote-category
Get list of quote categories (with quotes count)
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/quote-category?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new quote category
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/quote-category" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Motivation\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Motivation"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific quote category
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/quote-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a quote category
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/quote-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "architecto"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a quote category
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/quote-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"architecto\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "architecto"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a quote category
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/quote-category/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/quote-category/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Shift Management
APIs for managing shifts (name, start time, end time) for working days. By default a shift is applied to all working days. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/shift
Day of week: 0=Sunday, 1=Monday, ..., 6=Saturday
Get list of all shifts
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/shift?page=1&per_page=15" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/shift"
);
const params = {
"page": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a new shift
By default the shift is applied to all working days. Pass working_days to restrict to specific days (0-6).
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/admin/shift" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Morning Shift\",
\"start_time\": \"09:00\",
\"end_time\": \"17:00\",
\"working_days\": [
1,
2,
3,
4,
5
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/shift"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Morning Shift",
"start_time": "09:00",
"end_time": "17:00",
"working_days": [
1,
2,
3,
4,
5
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a specific shift
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/shift/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/shift/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a shift
Pass working_days to set which days (0-6) the shift applies to. Omit to leave days unchanged.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/shift/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"start_time\": \"13:46\",
\"end_time\": \"13:46\",
\"working_days\": [
4
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/shift/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"start_time": "13:46",
"end_time": "13:46",
"working_days": [
4
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a shift
Pass working_days to set which days (0-6) the shift applies to. Omit to leave days unchanged.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/shift/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"start_time\": \"13:46\",
\"end_time\": \"13:46\",
\"working_days\": [
4
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/shift/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"start_time": "13:46",
"end_time": "13:46",
"working_days": [
4
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a shift
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/admin/shift/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/shift/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Shifts (Public)
Public API for reading shifts. No authentication required.
All routes are prefixed with: /api/v1/shift
Day of week: 0=Sunday, 1=Monday, ..., 6=Saturday
List shifts
Returns all shifts with their name, start/end time and working day numbers. Optionally filter by day_of_week (0-6) to get shifts that apply to that day.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/shift?page=1&per_page=15&day_of_week=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/shift"
);
const params = {
"page": "1",
"per_page": "15",
"day_of_week": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": true,
"message": "Shifts retrieved successfully",
"data": {
"current_page": 1,
"data": [],
"first_page_url": "https://ruhline-api.test/api/v1/shift?page=1",
"from": null,
"last_page": 1,
"last_page_url": "https://ruhline-api.test/api/v1/shift?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://ruhline-api.test/api/v1/shift?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"next_page_url": null,
"path": "https://ruhline-api.test/api/v1/shift",
"per_page": 15,
"prev_page_url": null,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a single shift
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/shift/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/shift/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Server Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Site Settings (CMS)
APIs for managing site settings. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/site-setting
Get site settings (admin)
Returns the current site settings for editing.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/site-setting" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/site-setting"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update site settings
Update site settings. All fields are optional; only provided fields are updated. Image fields accept file uploads; text/URL fields accept strings.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/site-setting" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "footer_description=Your fitness partner."\
--form "copyright=© 2026 Company Name"\
--form "facebook_url=https://facebook.com/..."\
--form "instagram_url=https://instagram.com/..."\
--form "linkedin_url=https://linkedin.com/..."\
--form "address_line_1=123 Main St"\
--form "address_line_2=Suite 100"\
--form "landmark=Near Central Park"\
--form "country_id=1"\
--form "state_id=1"\
--form "city_id=1"\
--form "zipcode=10001"\
--form "global_commission_rate=10.5"\
--form "payout_frequency=14_days"\
--form "favicon=@C:\Users\AMITB\AppData\Local\Temp\php4213.tmp" \
--form "header_logo=@C:\Users\AMITB\AppData\Local\Temp\php4214.tmp" \
--form "page_header_image=@C:\Users\AMITB\AppData\Local\Temp\php4215.tmp" \
--form "footer_logo=@C:\Users\AMITB\AppData\Local\Temp\php4216.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/site-setting"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('footer_description', 'Your fitness partner.');
body.append('copyright', '© 2026 Company Name');
body.append('facebook_url', 'https://facebook.com/...');
body.append('instagram_url', 'https://instagram.com/...');
body.append('linkedin_url', 'https://linkedin.com/...');
body.append('address_line_1', '123 Main St');
body.append('address_line_2', 'Suite 100');
body.append('landmark', 'Near Central Park');
body.append('country_id', '1');
body.append('state_id', '1');
body.append('city_id', '1');
body.append('zipcode', '10001');
body.append('global_commission_rate', '10.5');
body.append('payout_frequency', '14_days');
body.append('favicon', document.querySelector('input[name="favicon"]').files[0]);
body.append('header_logo', document.querySelector('input[name="header_logo"]').files[0]);
body.append('page_header_image', document.querySelector('input[name="page_header_image"]').files[0]);
body.append('footer_logo', document.querySelector('input[name="footer_logo"]').files[0]);
fetch(url, {
method: "PUT",
headers,
body,
}).then(response => response.json());Example response (200):
{"success":true,"message":"Site settings updated successfully","data":{...}}
Example response (422):
{"success":false,"message":"Validation failed","errors":{...}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update site settings
Update site settings. All fields are optional; only provided fields are updated. Image fields accept file uploads; text/URL fields accept strings.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/site-setting" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "footer_description=Your fitness partner."\
--form "copyright=© 2026 Company Name"\
--form "facebook_url=https://facebook.com/..."\
--form "instagram_url=https://instagram.com/..."\
--form "linkedin_url=https://linkedin.com/..."\
--form "address_line_1=123 Main St"\
--form "address_line_2=Suite 100"\
--form "landmark=Near Central Park"\
--form "country_id=1"\
--form "state_id=1"\
--form "city_id=1"\
--form "zipcode=10001"\
--form "global_commission_rate=10.5"\
--form "payout_frequency=14_days"\
--form "favicon=@C:\Users\AMITB\AppData\Local\Temp\php422A.tmp" \
--form "header_logo=@C:\Users\AMITB\AppData\Local\Temp\php422B.tmp" \
--form "page_header_image=@C:\Users\AMITB\AppData\Local\Temp\php422C.tmp" \
--form "footer_logo=@C:\Users\AMITB\AppData\Local\Temp\php422D.tmp" const url = new URL(
"https://ruhline-api.test/api/v1/admin/site-setting"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('footer_description', 'Your fitness partner.');
body.append('copyright', '© 2026 Company Name');
body.append('facebook_url', 'https://facebook.com/...');
body.append('instagram_url', 'https://instagram.com/...');
body.append('linkedin_url', 'https://linkedin.com/...');
body.append('address_line_1', '123 Main St');
body.append('address_line_2', 'Suite 100');
body.append('landmark', 'Near Central Park');
body.append('country_id', '1');
body.append('state_id', '1');
body.append('city_id', '1');
body.append('zipcode', '10001');
body.append('global_commission_rate', '10.5');
body.append('payout_frequency', '14_days');
body.append('favicon', document.querySelector('input[name="favicon"]').files[0]);
body.append('header_logo', document.querySelector('input[name="header_logo"]').files[0]);
body.append('page_header_image', document.querySelector('input[name="page_header_image"]').files[0]);
body.append('footer_logo', document.querySelector('input[name="footer_logo"]').files[0]);
fetch(url, {
method: "PATCH",
headers,
body,
}).then(response => response.json());Example response (200):
{"success":true,"message":"Site settings updated successfully","data":{...}}
Example response (422):
{"success":false,"message":"Validation failed","errors":{...}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Site Settings (Public)
Public APIs for retrieving site settings (logos, footer, social links, address). No authentication required.
Routes are prefixed with: /api/v1/site-setting
Get site settings
Returns the current site settings for the frontend (favicon, logos, footer, social links, address).
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/site-setting" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/site-setting"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Site settings retrieved successfully",
"data": {
"id": 1,
"favicon": "http://localhost/storage/favicon.ico",
"header_logo": "http://localhost/storage/site/header-logo.png",
"page_header_image": "http://localhost/storage/site/page-header.jpg",
"footer_logo": "http://localhost/storage/site/footer-logo.png",
"footer_description": "Your fitness partner.",
"copyright": "© 2026 Company Name",
"social_media": {
"facebook_url": "https://facebook.com/...",
"instagram_url": "https://instagram.com/...",
"linkedin_url": "https://linkedin.com/..."
},
"address": {
"address_line_1": "123 Main St",
"address_line_2": "Suite 100",
"landmark": "Near Central Park",
"city": "New York",
"state": "NY",
"country": "USA",
"zipcode": "10001"
},
"updated_at": "2026-02-04T10:00:00+00:00"
}
}
Example response (404):
{
"success": false,
"message": "Site settings not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Working Days Management
APIs for managing which week days are working days. Only accessible by admin users.
All routes are prefixed with: /api/v1/admin/working-day
Day of week: 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday
Get working days configuration
Returns all seven week days with their working/non-working status.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/working-day" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/working-day"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Working days retrieved successfully",
"data": {
"days": [
{
"id": 1,
"day_of_week": 0,
"day_name": "Sunday",
"is_working": false,
"updated_at": "2026-01-29T12:00:00+00:00"
},
{
"id": 2,
"day_of_week": 1,
"day_name": "Monday",
"is_working": true,
"updated_at": "2026-01-29T12:00:00+00:00"
}
],
"working_day_numbers": [
1,
2,
3,
4,
5
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update working days
Mark which week days are working. Send an array of day numbers (0-6) that should be working; all others will be set to non-working.
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/admin/working-day" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"working_days\": [
1,
2,
3,
4,
5
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/working-day"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"working_days": [
1,
2,
3,
4,
5
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{"success":true,"message":"Working days updated successfully","data":{"days":[...],"working_day_numbers":[1,2,3,4,5]}}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"working_days": [
"At least one day selection is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update working days
Mark which week days are working. Send an array of day numbers (0-6) that should be working; all others will be set to non-working.
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/admin/working-day" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"working_days\": [
1,
2,
3,
4,
5
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/admin/working-day"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"working_days": [
1,
2,
3,
4,
5
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{"success":true,"message":"Working days updated successfully","data":{"days":[...],"working_day_numbers":[1,2,3,4,5]}}
Example response (422):
{
"success": false,
"message": "Validation failed",
"errors": {
"working_days": [
"At least one day selection is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Working Days (Public)
Public API for reading which week days are working days and their shifts. No authentication required.
All routes are prefixed with: /api/v1/working-day
Day of week: 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday
Get working days configuration with shifts
Returns all seven week days with their working/non-working status and the shifts that apply to each day. No auth required.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/working-day" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/working-day"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Working days retrieved successfully",
"data": {
"days": [
{
"id": 1,
"day_of_week": 0,
"day_name": "Sunday",
"is_working": false,
"updated_at": "...",
"shifts": []
},
{
"id": 2,
"day_of_week": 1,
"day_name": "Monday",
"is_working": true,
"updated_at": "...",
"shifts": [
{
"id": 1,
"name": "Morning",
"start_time": "09:00",
"end_time": "17:00",
"working_day_numbers": [
1,
2,
3,
4,
5
],
"created_at": "...",
"updated_at": "..."
}
]
}
],
"working_day_numbers": [
1,
2,
3,
4,
5
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Example Routes
Example routes demonstrating role-based access control. These are sample endpoints showing how different user roles can access different resources.
Admin Dashboard
requires authentication
Get admin dashboard data. This endpoint is protected and requires admin role.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin-only/dashboard" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin-only/dashboard"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Admin dashboard data",
"data": {
"admin": true
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (403):
{
"success": false,
"message": "Forbidden - Admin access required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Staff Dashboard
requires authentication
Get staff dashboard data. This endpoint is protected and requires staff role.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/staff-only/dashboard" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/staff-only/dashboard"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Staff dashboard data",
"data": {
"staff": true
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (403):
{
"success": false,
"message": "Forbidden - Staff access required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coach Dashboard
requires authentication
Get coach dashboard data. This endpoint is protected and requires coach role.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/coach-only/dashboard" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/coach-only/dashboard"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Coach dashboard data",
"data": {
"coach": true
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (403):
{
"success": false,
"message": "Forbidden - Coach access required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer Dashboard
requires authentication
Get customer dashboard data. This endpoint is protected and requires customer role.
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer-only/dashboard" \
--header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer-only/dashboard"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"message": "Customer dashboard data",
"data": {
"customer": true
}
}
Example response (401):
{
"success": false,
"message": "Unauthenticated"
}
Example response (403):
{
"success": false,
"message": "Forbidden - Customer access required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin - Orders
GET api/v1/admin/orders
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/orders" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/orders"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/admin/orders/{id}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/admin/orders/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/admin/orders/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coach - Enrollment Module Access
GET api/v1/program/enrollments/{enrollmentId}/modules
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/enrollments/architecto/modules" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/program/enrollments/{enrollmentId}/modules
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"modules\": [
{
\"program_structure_id\": 16,
\"is_locked\": true
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"modules": [
{
"program_structure_id": 16,
"is_locked": true
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/program/enrollments/{enrollmentId}/modules/{structureId}
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_locked\": true
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"is_locked": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/program/enrollments/{enrollmentId}/modules/{structureId}
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_locked\": true
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"is_locked": true
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollment Card Game
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/card-game/state
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/state" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/state"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/card-game/question-sets/{setId}/questions
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/card-game/question-sets/{setId}/questions/{questionId}/answer
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/questions/architecto/answer" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"answer_text\": \"b\",
\"answer_option\": \"n\",
\"answer_options\": [
\"g\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/questions/architecto/answer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"answer_text": "b",
"answer_option": "n",
"answer_options": [
"g"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/card-game/question-sets/{setId}/questions/{questionId}/answer
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/questions/architecto/answer" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"answer_text\": \"b\",
\"answer_option\": \"n\",
\"answer_options\": [
\"g\"
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/questions/architecto/answer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"answer_text": "b",
"answer_option": "n",
"answer_options": [
"g"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/card-game/question-sets/{setId}/card-selection
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/card-selection" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"card_snapshot_ids\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/card-selection"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"card_snapshot_ids": [
16
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/card-game/question-sets/{setId}/card-selection
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/card-selection" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"card_snapshot_ids\": [
16
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/question-sets/architecto/card-selection"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"card_snapshot_ids": [
16
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/card-game/submit
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/submit" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/card-game/submit"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollment Find Your Motivation
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/find-your-motivation/words
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/find-your-motivation/words" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/find-your-motivation/words"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/find-your-motivation/words/{wordId}/guess
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/find-your-motivation/words/architecto/guess" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"guess_word\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/find-your-motivation/words/architecto/guess"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"guess_word": "b"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/find-your-motivation/words/{wordId}/guess
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/find-your-motivation/words/architecto/guess" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"guess_word\": \"b\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/find-your-motivation/words/architecto/guess"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"guess_word": "b"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollment Goal Settings
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals/{goalId}
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals/{goalId}
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals/{goalId}
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals/{goalId}/sub-goals
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto/sub-goals" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto/sub-goals"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals/{goalId}/sub-goals/{subGoalId}
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto/sub-goals/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto/sub-goals/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals/{goalId}/sub-goals/{subGoalId}
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto/sub-goals/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto/sub-goals/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/goal-settings/goals/{goalId}/sub-goals/{subGoalId}
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto/sub-goals/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/goal-settings/goals/architecto/sub-goals/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollment Habit Tracker
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/habit-tracker/state
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/state" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/state"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/habit-tracker/habits
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/habits" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/habits"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/habit-tracker/habits/{habitId}
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/habits/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/habits/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/habit-tracker/habits/{habitId}
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/habits/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/habits/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/habit-tracker/habits/{habitId}
Example request:
curl --request DELETE \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/habits/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/habit-tracker/habits/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollment Modules
GET api/v1/customer/enrollments/{enrollmentId}/modules
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollment Questions
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/values/questions
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/values/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/values/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/values/questions/{questionId}/answer
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/values/questions/architecto/answer" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/values/questions/architecto/answer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/values/questions/{questionId}/answer
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/values/questions/architecto/answer" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/values/questions/architecto/answer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/who-am-i/questions
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/who-am-i/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/who-am-i/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/who-am-i/questions/{questionId}/answer
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/who-am-i/questions/architecto/answer" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/who-am-i/questions/architecto/answer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/who-am-i/questions/{questionId}/answer
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/who-am-i/questions/architecto/answer" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/who-am-i/questions/architecto/answer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollment Upload Documents
GET api/v1/customer/enrollments/{enrollmentId}/resources/upload-documents
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/resources/upload-documents" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/resources/upload-documents"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/upload-documents/resources
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/upload-documents/resources" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/upload-documents/resources"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Customer - Enrollment Wheel Of Life
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/wheel-of-life/elements
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/elements" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/elements"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/wheel-of-life/ratings
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/ratings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ratings\": [
{
\"element_id\": 16,
\"id\": 16,
\"source_element_id\": 16,
\"rating\": 16
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/ratings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"ratings": [
{
"element_id": 16,
"id": 16,
"source_element_id": 16,
"rating": 16
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/wheel-of-life/ratings
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/ratings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ratings\": [
{
\"element_id\": 16,
\"id\": 16,
\"source_element_id\": 16,
\"rating\": 16
}
]
}"
const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/ratings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"ratings": [
{
"element_id": 16,
"id": 16,
"source_element_id": 16,
"rating": 16
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/wheel-of-life/elements/{elementId}/questions
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/elements/architecto/questions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/elements/architecto/questions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/wheel-of-life/elements/{elementId}/questions/{questionId}/answer
Example request:
curl --request PUT \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/elements/architecto/questions/architecto/answer" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/elements/architecto/questions/architecto/answer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/customer/enrollments/{enrollmentId}/modules/{structureId}/wheel-of-life/elements/{elementId}/questions/{questionId}/answer
Example request:
curl --request PATCH \
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/elements/architecto/questions/architecto/answer" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/customer/enrollments/architecto/modules/architecto/wheel-of-life/elements/architecto/questions/architecto/answer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoints
GET api/v1/program/sessions/calendar
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/sessions/calendar" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"from\": \"2026-07-07\",
\"to\": \"2052-07-30\",
\"timezone\": \"Asia\\/Ulaanbaatar\"
}"
const url = new URL(
"https://ruhline-api.test/api/v1/program/sessions/calendar"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from": "2026-07-07",
"to": "2052-07-30",
"timezone": "Asia\/Ulaanbaatar"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/enrollments/{enrollmentId}/sessions
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/enrollments/architecto/sessions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/sessions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/enrollments/{enrollmentId}/sessions/{sessionId}
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/enrollments/architecto/sessions/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/sessions/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/program/enrollments/{enrollmentId}/sessions/{sessionId}/video-token
Example request:
curl --request POST \
"https://ruhline-api.test/api/v1/program/enrollments/architecto/sessions/architecto/video-token" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/sessions/architecto/video-token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/enrollments/{enrollmentId}/modules/{structureId}/values/responses
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/values/responses" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/values/responses"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/enrollments/{enrollmentId}/modules/{structureId}/who-am-i/responses
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/who-am-i/responses" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/who-am-i/responses"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/enrollments/{enrollmentId}/modules/{structureId}/wheel-of-life/responses
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/wheel-of-life/responses" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/wheel-of-life/responses"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/enrollments/{enrollmentId}/modules/{structureId}/find-your-motivation/responses
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/find-your-motivation/responses" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/find-your-motivation/responses"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/program/enrollments/{enrollmentId}/modules/{structureId}/card-game/responses
Example request:
curl --request GET \
--get "https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/card-game/responses" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://ruhline-api.test/api/v1/program/enrollments/architecto/modules/architecto/card-game/responses"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"success": false,
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.