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).