Customer Account Management
The Customer Account Management service enables secure, organized control over customer profiles, internal teams, and communication channels. It is built for platforms that require real-time account configuration, team collaboration management, and automated customer notifications.

This service includes the following core areas:

๐Ÿ”น Account Settings
Manage and configure customer accounts, including profile updates and communication preferences.
  • View, update, delete customer details
  • Manage notification channels: create, update, test, verify, enable/disable, or remove
See full Account Settings API โ†’

๐Ÿ”น Team Organization & Role Setup
Create and manage team structures and user roles for better internal collaboration.
  • Create, update, or delete teams
  • Manage team memberships and access roles
  • Configure team-specific notification channels
Explore Team Management APIs โ†’

This structured service ensures that customer data, team access, and alerts are always up to date, well-organized, and secure.
Account Settings
The Account Settings module allows secure, real-time management of customer accounts. It gives users full control over profile details, and notification preferences. The functionality is divided into two main sections for better organization:

๐Ÿ”น Customer Management
Manage key customer information to ensure account data remains accurate and current.
  • View and edit customer profile details (name, email, etc.)
  • Delete accounts when needed

๐Ÿ”น Notification Channel Management
Set up and manage how customers receive alerts and messages.
  • Create, update, or delete notification channels (e.g., email, webhook)
  • Test channels to ensure they work as expected
  • Enable or disable channels as needed
  • Verify channels for secure communication

This structure ensures that customer account settings are easy to manage, reliable, and aligned with communication preferences.
ENDPOINTS
Expand all
  • Customer management
    GET/customer/{customer_id}
    PATCH/customer
    DELETE/customer
    PUT/customer/username
    PATCH/customer/username
  • Customer notification channel management
Get Customer Profile
This endpoint retrieves the profile information of the currently authenticated customer. It returns a structured response containing essential details about the customer, their team, and associated organization.

You can use this endpoint to display customer profile data in dashboards, account settings pages, or any area where customer-specific context is needed.

Key response fields include:
  • Customer: ID, email, full name, role
  • Team: ID and name of the associated team
  • Organization: name, subscription plan, and trial period
  • Limits: available resource and service limits

This allows your application to stay in sync with the customerโ€™s account and access permissions in real time.

Authorization: Bearer YOUR_TOKEN


To make changes or remove the account, See the Update Customer or Delete Customer endpoints.
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-query.api.pinghome.io/v1/customer";

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Customer Information
This endpoint is used to update the profile information of the currently authenticated customer. It supports editing basic customer details such as name and surname to keep account information accurate and up to date.

Apply this endpoint when:
Customers request to update their visible profile information like first or last name.

Supported fields include:
  • First name
  • Surname

This helps maintain consistent and user-managed customer records across your application.

Authorization: Bearer YOUR_TOKEN


Looking for full profile access or removal? Refer to Get Customer or Delete Customer.
Request Body Parameters
  • name string
    The updated first name of the customer. Example: 'John'
  • surname string
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer";
const data = {
    "name": "John",
    "surname": "Smith"
};

axios.patch(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Customer Account
This endpoint is used to permanently delete a customer account from the system. To perform this action, a valid deletion reason must be provided.

When to use:
When a customer requests account removal or when the account must be deactivated for business, compliance, or security reasons.

Important notes:
  • This action is irreversible โ€” all associated data will be removed.
  • A reason for deletion is required for auditing and record-keeping purposes.

This endpoint helps enforce data control and compliance with user account management policies.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will delete the customer record and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.

Need to view or update customer details instead? Visit Get Customer or Update Customer.
Request Body Parameters
  • reason string
    The reason for deleting the customer. Example: 'poor-features'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer";
const data = {
    "reason": "poor-features"
};

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  },
  data
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Customer Username
This endpoint is used to update the username of the currently authenticated customer. To perform the update, a valid email address must be provided as part of the request to ensure ownership and verification.

Use this endpoint when a customer needs to change their existing username โ€” for example, after an email change, rebranding, or correcting a previous entry.

This ensures that each customer's username remains unique and tied to their verified email identity.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the username will be updated, and a message will confirm that verification is required. To complete the process, you need to verify the new username using the Confirm Customer Username Change endpoint.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Request Body Parameters
  • email string
    The email address to be associated with the customer's username. Example: 'pinghome@gmail.com'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer/username";
const data = {
    "email": "pinghome@gmail.com"
};

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Confirm Customer Username Change
This endpoint is used to confirm a username change for the currently authenticated customer. After initiating a change, a confirmation code is sent to the associated email address. To finalize the update, submit this code.

You can call this endpoint after calling Update Customer Username to verify and apply the new username.

This verification step ensures that all username changes are authorized and securely confirmed by the account owner.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will verify the username and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Request Body Parameters
  • code string
    The verification code sent to the customer. Example: '293479'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer/username";
const data = {
    "code": "293479"
};

axios.patch(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Create Personal Notification Channel
This API endpoint allows creating a new personal notification channel. Notification channels can include SMS, email, or other communication methods used to deliver updates, alerts, or promotional information to the customer. You must include the value and type of the notification channel.

Common use cases:

  • SMS notifications: Use this endpoint to configure an sms notification channel for sending alerts or updates directly to the customerโ€™s phone.
  • Email notifications: Set up an email notification channel to keep customers informed about important alerts, updates, ensuring they receive timely information.
  • Push notifications: Add a webhook or other URL-based notification method to send push notifications or real-time updates to external platforms integrated with customer data.


Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will create the notification channel and return a confirmation message. To complete the verification process, please use the Verify Personal Notification Channel endpoint.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the customer. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • value string
    The value of the notification channel, such as a phone number or email. Example: '+994551234567'
  • type string
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel";
const data = {
  "value": "+994551234567",
  "type": "sms"
};

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Get Personal Notification Channels
This endpoint retrieves all notification channels that are currently configured for the authenticated customer. These channels define how the customer receives alerts and system notifications (e.g., via email or webhooks).

Designed for:
Listing all communication channels a customer has set up, allowing administrators or users to confirm notification preferences.

Response may include:
  • Channel type (e.g., email, webhook)
  • Status (enabled/disabled)
  • Verification state
  • Delivery endpoint or address

To update or test a channel, see the Update Notification Channel or Test Notification Channel endpoints.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will return the customer's notification channels, including their details such as type, priority, and status. The priority parameter indicates the importance level of the notification channel.
  • If the request is unauthorized, the system will respond with an authentication error message.
Path Parameters
  • id string
    The unique ID of the customer. Example: '6fb4e64f-ad18-46e3-920c-92639adb137c'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-query.api.pinghome.io/v1/customer/{id}/notification-channels?include_types=sms,email&exclude_types=push-notification";

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Personal Notification Channel
This endpoint allows you to update an existing notification channel for the authenticated customer. It is used to modify properties such as the channel value (e.g., email address or webhook URL) and priority level.

Use this where:
A customer wants to change where or how they receive system notifications โ€” for example, updating their email or changing the importance of a channel.

Important notes:
  • The request must include the channel type and updated values
  • The channel must already exist โ€” this endpoint cannot create new channels
  • Changes may affect how and when the customer receives alerts

To view existing channels, use the Get Notification Channels endpoint. To test delivery after updating, use the Test Notification Channel endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will update the specified notification channel and return a confirmation message indicating that the updated channel needs to be verified. To complete the verification process, please use the Verify Personal Notification Channel endpoint.
  • If the request is unauthorized or invalid, the system will respond with an appropriate error message.
Path Parameters
  • id string
    The unique ID of the customer. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • value string
    The updated notification channel value, such as a phone number or email address. Example: 'new.email@ping-home.org'
  • priority positive integer
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel";
const data = {
  "value": "new.email@ping-home.org",
  "priority": 1
};

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Verify Personal Notification Channel
This endpoint is used to verify a notification channel for the authenticated customer. It is typically called after a new notification channel (e.g., an email address) has been added or updated, and requires confirmation.

This step helps verify that the notification channel is legitimate and trusted before allowing message delivery.

Important notes:
  • The request must include the confirmation code sent to the channel (e.g., via email)
  • Priority may also be included to identify or reorder channels if required
  • Only unverified channels can be confirmed using this endpoint


Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will verify the notification channel and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the customer. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • code string
    The verification code provided to confirm the notification channel. Example: '087608'
  • priority positive integer
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel/verification";
const data = {
  "code": "087608",
  "priority": 1
};

axios.patch(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Personal Notification Channel
This endpoint allows you to delete a specific notification channel configured for the authenticated customer. The notification channel to be removed is identified using the priority value passed as a query parameter.

When to use:
A customer wants to stop receiving alerts via a specific channel or wishes to remove outdated contact methods.

Important notes:
  • The priority parameter is required to identify which channel to delete
  • Only channels associated with the authenticated customer can be removed
  • Once deleted, the channel must be re-added if needed in the future

To view or modify channels before deletion, use the Get Notification Channels or Update Notification Channel endpoints.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the specified notification channels will be deleted, and the system will return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an appropriate error message, indicating the issue.
Path Parameters
  • id string
    The unique ID of the customer. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Query Parameters
  • priority positive integer
    The priority of the notification channels to be deleted. This value can be found in the response of the Get Personal Notification Channels endpoint. Example: priority=3&priority=4
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel?priority=3,4";

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Test Personal Notification Channel
This endpoint allows you to send a test message to one of the customer's configured notification channels. It helps confirm that the channel is set up correctly and able to receive notifications.

Typical scenario:
Run this after adding or enabling a notification channel to make sure messages are delivered successfully.

Important notes:
  • The priority of the channel to test must be included in the request
  • Sends a non-intrusive test message โ€” does not trigger real alerts
  • Useful for validating setup and troubleshooting delivery issues

To configure channels before testing, see the Create Notification Channel or Enable Notification Channel endpoints.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will send a test message to the notification channel and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the customer. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • priority positive integer
    The priority of the notification channel to test. This value can be found in the response of the Get Personal Notification Channels endpoint. Example: 1
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel/test";
const data = {
  "priority": 1
};

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Personal Notification Channel Status
This endpoint allows you to enable or disable a specific notification channel for the authenticated customer. It is used to control whether alerts are actively delivered to a given channel without deleting it.

Recommended when:
A notification channel needs to be deactivated temporarily or reactivated later for continued use.

Important notes:
  • The request must include the enabled field (boolean) and the priority of the channel
  • Setting enabled: false deactivates delivery, while true reactivates it
  • This action does not delete or modify the channel configuration

To test the channel after enabling it, use the Test Notification Channel endpoint. To permanently remove a channel, see Delete Notification Channel.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will update the enabled status of the notification channel and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an appropriate error message, such as unauthorized access or invalid input.
Path Parameters
  • id string
    The unique ID of the customer. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • enabled boolean
    The status of the notification channel. Example: true
  • priority positive integer
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/customer/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel/enabled";
const data = {
  "enabled": true,
  "priority": 1
};

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Team Organization & Role Setup
This section provides structured tools for managing team configurations and role-based access within your system. It is divided into two main areas: Team Management and Team Notification Channel Management, both designed to support secure collaboration and streamlined communication.

๐Ÿ”น Team Management
Create and manage internal teams, invite or remove members, and assign roles such as root, manager, or user. These endpoints support user onboarding, team structuring, and access control.
  • Create, update, and delete teams
  • Invite or remove team members
  • Assign or update team roles

๐Ÿ”น Team Notification Channel Management
Configure how teams receive alerts and operational messages. These endpoints allow you to create, update, test, verify, and delete team-level notification channels such as email or webhooks.
  • Route alerts to team-specific email/webhook channels
  • Verify and enable delivery methods
  • Test channels before activating them in production

Together, these tools provide a robust system for maintaining well-organized teams and reliable team communication based on real-time system activity.
ENDPOINTS
Expand all
  • Team management
    POST/team
    GET/teams
    DELETE/team/{id}
    PUT/team/{id}
    GET/team/{id}/invitations
    POST/team/{id}/invitation
    DELETE/team/{id}/invitation
    GET/team/{id}/members
    DELETE/team/{id}/member/{memberId}
    PATCH/team/{id}/member/{memberId}
    POST/team/{id}/invitation/reminder
  • Team notification channel management
  • Service management
Create New Team
This endpoint allows you to create a new team within your organization to support structured monitoring and collaboration. Teams help you group users based on their responsibilities and distribute key operational tasks across different roles.

Helpful when:
You need to assign specific monitoring responsibilities to distinct teams within your organization.

Benefits:
  • Assign ownership of systems or services to specific teams
  • Improve incident response by defining roles and access levels
  • Streamline alert handling and reduce operational noise

Once a team is created, you can add members and configure team-specific notification channels for effective communication.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:

  • On success, the system will create the team and return a confirmation message along with the team details.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Request Body Parameters
  • name string
    The name of the team. Example: 'TeamName'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team";
const data = {
    "name": "TeamName"
};

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Get Teams
This endpoint allows you to retrieve a list of all teams within your account or organization. It returns an array of team records, each containing key metadata to help you identify and manage your teams effectively.

When to use:
Display team data in dashboards, manage memberships, or perform audits across your organization.

Returned data includes:
  • team_id โ€“ Unique identifier for the team
  • name โ€“ Name of the team
  • member_count โ€“ Total number of users in the team
  • created_at โ€“ Timestamp of when the team was created

For managing individual teams, see the Update Team or Delete Team endpoints.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will return a list of teams along with their details.
  • If the request is unauthorized, the system will respond with an authentication error message.
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-query.api.pinghome.io/v1/teams";

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Team Information
This endpoint allows you to update the details of an existing team by modifying its name. It is useful for keeping team information organized and aligned with current team roles or purposes. When a teamโ€™s name needs to be changed due to organizational updates, restructuring, or naming standardization, you can use this endpoint.

Important notes:
  • You must provide the updated name for the team
  • The team_id is used to identify which team to update

To view a list of teams before updating, use the Get Teams endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will update the team information and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • name string
    The updated name of the team. Example: 'TeamName'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8";
const data = {
    "name": "TeamName"
};

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Team
This endpoint allows you to remove an existing team from your account. Once deleted, the team and its associated relationships will no longer be available in the system.

Use this to:
Delete a team following restructuring, team consolidation, or when clearing unused resources.

What happens on deletion:
  • The team is permanently removed from your organization
  • Team memberships and related settings will no longer be accessible
  • This action does not affect any customer or service data assigned outside of the team

Before deleting, you can review existing teams using the Get Teams endpoint or update team details with the Update Team endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will delete the team and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8";

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Get Team Invitation Details
This endpoint allows you to retrieve details of invitations that have been sent out to join teams within your organization. It provides full visibility into the invitation lifecycle to help you manage team onboarding efficiently.

Recommended when:
You need visibility into invitation history and current status while assembling your team.

Returned data includes:
  • channel โ€“ The name of the invitation channel
  • channel_type โ€“ Delivery method used (e.g., email)
  • sender_full_name โ€“ Name of the person who sent the invitation
  • created_at โ€“ When the invitation was created
  • reminded_at โ€“ Timestamp of the last reminder sent
  • status โ€“ Invitation status (Pending, Accepted, or Declined)

For sending new invitations, refer to the Invite Team Member endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will return a list of team invitations and their statuses.
  • If the request is unauthorized, the system will respond with an authentication error message.
Path Parameters
  • id string
    The unique ID of the team. Example: '6fb4e64f-ad18-46e3-920c-92639adb137c'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-query.api.pinghome.io/v1/team/6fb4e64f-ad18-46e3-920c-92639adb137c/invitations";

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Invite New Team Member
This endpoint allows you to invite a new member to your team by specifying their contact details and preferred delivery method. It supports sending invitations through various communication channels, such as email. When you want to add collaborators to a team and initiate the onboarding process, you can call this endpoint.

Required fields:
  • channel_value โ€“ The destination address (e.g., email address)
  • channel_type โ€“ The method used to send the invitation (e.g., email)

After sending the invite, you can monitor its status using the Get Team Invitation Details endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will generate an invitation for the new team member and return a confirmation message.
  • If the request is unauthorized or contains invalid parameters, the system will respond with an appropriate error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • channel_value string
    The value of the invitation channel, e.g., an email address like 'test@pinghome.eu'.
  • channel_type string
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/invitation";
const data = {
  "channel_value": "test@pinghome.eu",
  "channel_type": "email"
};

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Team Member Invitation
This endpoint allows you to delete a previously sent team invitation that has not yet been accepted. It is useful for canceling outdated, incorrect, or unwanted invitations during team setup or membership adjustments.

Recommended when:
A team invitation remains unanswered or needs to be canceled before being acted upon.

Required field:
  • channel_value โ€“ The address (e.g., email) to which the invitation was sent

To track invitation status before deletion, use the Get Team Invitation Details endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will delete the specified team member invitation and return a confirmation message.
  • If the request is unauthorized or contains invalid parameters, the system will respond with an appropriate error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • channel_value string
    The value of the invitation channel, e.g., an email address like 'test@pinghome.eu'.
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/invitation";
const data = {
  "channel_value": "test@pinghome.eu"
};

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  },
  data: data
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Get Team Members
This endpoint allows you to retrieve a list of all team members associated with a specific team. It returns structured data that includes key details for each member, helping you manage roles, permissions, and team composition.

You can use this endpoint to display current team membership in dashboards, verify access levels, or audit team participation.

Returned data includes:
  • customer_id โ€“ Unique identifier of the team member
  • email โ€“ Memberโ€™s contact email
  • name โ€“ Full name of the team member
  • role โ€“ Role assigned within the team (e.g., root, manager)

To remove a member, use the Delete Team Member endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will return a detailed list of team members along with their associated information.
  • If the request is unauthorized, the system will respond with an authentication error message.
Path Parameters
  • id string
    The unique ID of the team. Example: '6fb4e64f-ad18-46e3-920c-92639adb137c'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-query.api.pinghome.io/v1/team/6fb4e64f-ad18-46e3-920c-92639adb137c/members";

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Team Member
This endpoint allows you to remove a specific member from a team. It is used to revoke access for users who no longer require team participation, ensuring that only active, authorized individuals remain part of your team structure.

When to use:
A team member has left the organization, changed roles, or no longer needs access to team resources or monitoring tools.

To view all current team members before removal, use the Get Team Members endpoint. To invite new members in their place, see the Invite Team Member endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will delete the specified team member and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an appropriate error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
  • memberId string
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/member/a43b87f6-9012-4f1e-bf5f-7c2f5b6e4f29";

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Team Member
This endpoint allows you to update a team memberโ€™s role or move them to a different team. It helps maintain proper access control and team alignment across your organization.

Common use case:
Updating a team memberโ€™s role or moving them to a different team using the new_team_id field.

Important notes:
  • If the member should remain in the current team, you can leave new_team_id unchanged
  • Role changes take effect immediately upon update

To review the current team structure before updating, use the Get Team Members endpoint. To remove a user instead, refer to the Delete Team Member endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will update the team member and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
  • memberId string
Request Body Parameters
  • role string
    The new role of the team member (e.g., 'user', 'manager').
  • new_team_id string
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/member/a43b87f6-9012-4f1e-bf5f-7c2f5b6e4f29";
const data = {
  "role": "user",
  "new_team_id": "c03b02ec-244f-4d2c-8f68-3910071ed5c8"
};

axios.patch(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Send Invitation Reminder to Team Member
This endpoint allows you to send a reminder for a pending team invitation that has not yet been accepted. It is useful for nudging invited users who may have missed or forgotten the original invite. You can use this endpoint to follow up with users who have not yet responded to their invitation to join a team.

Required field:
  • channel_value โ€“ The destination address where the original invitation was sent (e.g., email)

To check invitation status before sending a reminder, use the Get Team Invitation Details endpoint. To cancel the invitation entirely, refer to the Delete Team Member Invitation endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will send the invitation reminder and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • channel_value string
    The channel value (email or phone number) where the invitation reminder will be sent. Example: 'test@pinghome.eu'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/invitation/reminder";
const data = {
  "channel_value": "test@pinghome.eu"
};

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Create Team Notification Channel
Notification channels are used to send alerts or messages to teams through various mediums, such as webhooks, email, or other integrations. To create new team notification channel you must provide the value and type.

Common use cases:

  • Create webhook for alerts: Add a webhook URL to enable real-time notifications for system alerts, incidents, or other events to be sent to the teamโ€™s communication platform.
  • Set up email alerts: Configure an email address to receive important alerts or updates related to the team's operations, ensuring critical notifications are not missed.
  • Integrate with external systems: Add an external service or tool (e.g., Slack, PagerDuty) as a notification channel to centralize team communication for incidents and system updates.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will create the notification channel and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • value string
    The value of the notification channel. Example: 'https://webhook.site/3f4db7ad-ca7f-4080-ab06-6056ea9eed3a'
  • type string
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel";
const data = {
  "value": "https://webhook.site/3f4db7ad-ca7f-4080-ab06-6056ea9eed3a",
  "type": "webhook"
};

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Get Team Notification Channels
This endpoint allows you to retrieve all notification channels that are currently configured for a specific team. These channels determine how the team receives system alerts, incident reports, and other operational messages.

Apply this when:
Managing team preferences or auditing communication flows tied to monitoring events.

Returned data typically includes:
  • Channel type (e.g., email, webhook)
  • Channel value (e.g., email address or URL)
  • Status (enabled or disabled)
  • Verification state

To modify or test one of these channels, use the Update Team Notification Channel or Test Team Notification Channel endpoints.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will return the teamโ€™s notification channels, including their details such as type, priority, and status. The priority parameter indicates the importance level of the notification channel.
  • If the request is unauthorized, the system will respond with an authentication error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-query.api.pinghome.io/v1/team/{id}/notification-channels?include_types=sms,email&exclude_types=push-notification";

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Team Notification Channel
This endpoint allows you to update a notification channel associated with a specific team. You can change how and where the team receives critical alerts by modifying the channelโ€™s configuration.

Common workflow:
Modify a teamโ€™s existing notification channel as part of regular communication maintenance.

Required fields:
  • value โ€“ The new destination for notifications (e.g., email address or URL)
  • priority โ€“ Identifies the specific channel to be updated

To review existing channels before updating, use the Get Team Notification Channels endpoint. After making changes, you can test delivery using the Test Team Notification Channel endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will add the new notification channel and return a confirmation message indicating that the channel needs to be verified. To complete the verification process, please use the Verify Team Notification Channel endpoint.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • value string
    The new notification channel value (e.g., webhook URL or email address). Example: 'https://webhook.site/3f4db7ad-ca7f-4080-ab06-6056ea9eed3a'
  • priority positive integer
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel";
const data = {
  "value": "https://webhook.site/3f4db7ad-ca7f-4080-ab06-6056ea9eed3a",
  "priority": 1
};

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Verify Team Notification Channel
This endpoint allows you to verify a team notification channel after it has been added or updated. Verification ensures the channel is functional and authorized to receive notifications on behalf of the team.

Required step:
Authenticate ownership of the new channel by providing the code sent to its destination (email or webhook).

Required fields:
  • code โ€“ The verification code sent to the notification destination
  • priority โ€“ Identifies the channel being verified

To set up or change a channel before verification, see Create or Modify team notification channel endpoints.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will verify the notification channel and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • code string
    The verification code provided to confirm the notification channel. Example: '087608'
  • priority positive integer
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel/verification";
const data = {
  "code": "087608",
  "priority": 1
};

axios.patch(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Team Notification Channel
Remove an unwanted notification channel from a team to ensure alerts are only sent to valid, actively monitored destinations. This is particularly useful when retiring outdated email addresses, rotating webhook URLs, or simplifying the teamโ€™s communication structure. The channel to be deleted is identified using its priority value passed as a query parameter.

Deleting a channel stops all system messages from being routed through it. To prevent delivery issues or confusion during incidents, make sure a replacement channel is already configured if necessary.

You can view existing team channels before deletion using the Get Team Notification Channels endpoint.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will delete the specified notification channels and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Query Parameters
  • priority positive integer
    A list of notification channel priorities to delete. This value can be found in the response of the Get Team Notification Channels endpoint. Example: priority=3&priority=4
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel?priority=3,4";

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Test Team Notification Channel
This endpoint sends a simulated message to a specified team notification channel to confirm that it is operational. It is commonly used right after creating, updating, or enabling a channel to ensure it can successfully receive system-generated alerts.

The test does not send real alerts but mimics an actual delivery to validate connectivity, format compatibility, and proper configuration. This helps teams identify setup issues before relying on the channel in live monitoring environments.

Use this feature as a routine step when onboarding new teams, rotating email/webhook endpoints, or verifying channel health after extended inactivity.

Need to view or configure channels before testing? Head over to Get Team Notification Channels or Update Team Notification Channel.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will send a test message to the specified notification channel and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • priority positive integer
    The priority of the notification channel to be tested. This value can be found in the response of the Get Team Notification Channels endpoint. Example: 1
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel/test";
const data = {
  "priority": 1
};

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Team Notification Channel Status
Control the activation state of a team's notification channel by toggling it on or off. This endpoint lets you enable or disable a specific channel without deleting it โ€” giving teams the flexibility to pause alert delivery during maintenance windows or while rotating contact methods.

To perform the update, you must specify the priority of the channel and set the enabled flag to either true (to activate) or false (to deactivate).

Disabling a channel prevents it from receiving any system alerts until it's re-enabled. This is useful when troubleshooting delivery issues, reducing noise during off-hours, or enforcing temporary alert silencing for specific teams.

For visibility into all available team channels, use Get Team Notification Channels. To test a channel after enabling it, see Test Team Notification Channel.

Authorization: Bearer YOUR_TOKEN


Expected Behavior:


  • On success, the system will update the notification channel status and return a confirmation message.
  • If the request is unauthorized or invalid, the system will respond with an error message.
Path Parameters
  • id string
    The unique ID of the team. Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • enabled boolean
    Boolean value indicating whether the notification channel is enabled or disabled. Example: true
  • priority positive integer
JavaScript
Response codes
const axios = require('axios');

const url = "https://customer-cmd.api.pinghome.io/v1/team/c03b02ec-244f-4d2c-8f68-3910071ed5c8/notification-channel/enabled";
const data = {
  "enabled": true,
  "priority": 1
};

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Create Service
Create a new service within the context of a specific team in your monitoring system. In this structure, each service is owned and managed by a team, allowing for better organization, role-based visibility, and scoped alert handling.

To create a service, include the name of the service and the team_id it belongs to in the request body. This association ensures that each team is responsible for monitoring and responding to events tied to its own services.

Real-world use cases:
  • Team-specific service tracking โ€” Allow different teams to independently monitor their own microservices, apps, or integrations.
  • Structured growth โ€” As your system scales, teams can register new services under their scope to maintain separation of responsibilities.
  • Improved alert ownership โ€” Alerts and incidents triggered from the service can be routed to the right team based on the team_id assignment.

After a service is created, it can be connected to uptime monitors, incident workflows, and team-based notification channels for complete operational visibility.

Authorization: Bearer YOUR_TOKEN

Request Body Parameters
  • name string
    The name of the service.
    Example: 'ServiceName'
  • team_id string
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/service';
const data = {
  name: 'ServiceName',
  team_id: '39ed7fbd-200b-41eb-8467-a91f0809e802'
};

axios.post(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Update Service Name
Rename an existing service in your monitoring system to better reflect its current role, ownership, or purpose. This endpoint helps keep service names consistent with organizational changes โ€” such as product renaming, infrastructure restructuring, or shifts in team responsibilities.

To perform the update, provide the service's unique identifier (service_id) as a path parameter and the new name in the request body. This change is reflected across all related views, including dashboards, incident logs, and monitor assignments.

Why this is useful:
  • Clarity in operations โ€” Rename services to match new internal naming conventions or business terminology.
  • Reduce confusion โ€” Keep service names descriptive and current so that team members and stakeholders clearly understand their purpose.
  • Avoid data fragmentation โ€” Update rather than recreate services to preserve historical monitoring and incident data tied to the original service.

To view the current details of a specific service before renaming, use the Get Service Details endpoint.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the service name will be updated, and a confirmation message will be returned.
  • If the request is unauthorized, an error message indicating authorization failure will be returned. If the request is invalid or contains incorrect data, a message specifying the issues will be provided.
Path Parameters
  • id string
    The unique service ID to update.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
Request Body Parameters
  • name string
    The new name of the service.
    Example: 'ServiceName'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/service/c03b02ec-244f-4d2c-8f68-3910071ed5c8';
const data = { name: 'ServiceName' };

axios.put(url, data, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Delete Service
Remove a service from your monitoring system when it is no longer relevant, active, or needed. This endpoint permanently deletes the service and dissociates it from any connected monitors, alerts, or incidents.

To perform the deletion, provide the service_id as a path parameter. The service will be removed from the associated teamโ€™s structure, ensuring the system remains clean, organized, and free from unused entries.

When deletion is useful:
  • Retiring legacy systems โ€” Remove services that are no longer deployed or supported.
  • Avoiding alert noise โ€” Eliminate inactive services to prevent confusion or irrelevant alerts.
  • Keeping dashboards relevant โ€” Ensure only current and meaningful services are shown to teams and stakeholders.

If you need to rename a service instead of deleting it, use the Update Service Name endpoint.

Authorization: Bearer YOUR_TOKEN



Expected Behavior:

  • On success, the service will be deleted, and a confirmation message will be returned.
  • If the request is unauthorized, an error message will indicate authorization failure. If the service ID is invalid or not found, a message specifying the issue will be provided.
Path Parameters
  • id string
    The unique service ID to delete.
    Example: 'c03b02ec-244f-4d2c-8f68-3910071ed5c8'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-cmd.api.pinghome.io/v1/service/c03b02ec-244f-4d2c-8f68-3910071ed5c8';

axios.delete(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log('Service deleted successfully');
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).
Get Service Details
Retrieve full details about a specific service using its service_id. This endpoint provides key information such as the service name, its unique identifier, and usage statistics โ€” helping teams monitor and manage their assigned services more effectively.

Returned data includes:
  • name โ€“ The name of the service
  • service_id โ€“ The unique identifier assigned to the service
  • resource_count โ€“ Number of resources (e.g., servers, APIs) connected to the service
  • heartbeat_count โ€“ Number of heartbeat monitors associated with the service

This information is useful when performing audits, viewing service usage, or verifying ownership before updating or deleting the service.

Authorization: Bearer YOUR_TOKEN

Path Parameters
  • id string
    The unique ID of the service.
    Example: 'b39c7ff9-2ead-4a0d-a095-320b77d8bbdb'
JavaScript
Response codes
const axios = require('axios');

const url = 'https://resource-query.api.pinghome.io/v1/team-service/b39c7ff9-2ead-4a0d-a095-320b77d8bbdb';

axios.get(url, {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});
ResponseThis section is used to view the possible HTTP response codes returned by the API. These codes indicate the status of a request, such as 201 (Created), 401 (Unauthorized), 409 (Conflict), or 422 (Unprocessable Entity).