Developer-friendly & type-safe Typescript SDK specifically catered to leverage firehydrant-typescript-sdk API.
FireHydrant API: The FireHydrant API is based around REST. It uses Bearer token authentication and returns JSON responses. You can use the FireHydrant API to configure integrations, define incidents, and set up webhooks--anything you can do on the FireHydrant UI.
v1
All requests to the FireHydrant API require an Authorization
header with the value set to Bearer {token}
. FireHydrant supports bot tokens to act on behalf of a computer instead of a user's account. This prevents integrations from breaking when people leave your organization or their token is revoked. See the Bot tokens section (below) for more information on this.
An example of a header to authenticate against FireHydrant would look like:
Authorization: Bearer fhb-thisismytoken
To access the FireHydrant API, you must authenticate with a bot token. (You must have owner permissions on your organization to see bot tokens.) Bot users allow you to interact with the FireHydrant API by using token-based authentication. To create bot tokens, log in to your organization and refer to the Bot users page.
Bot tokens enable you to create a bot that has no ties to any user. Normally, all actions associated with an API token are associated with the user who created it. Bot tokens attribute all actions to the bot user itself. This way, all data associated with the token actions can be performed against the FireHydrant API without a user.
Every request to the API is authenticated unless specified otherwise.
Currently, requests made with bot tokens are rate limited on a per-account level. If your account has multiple bot token then the rate limit is shared across all of them. As of February 7th, 2023, the rate limit is at least 50 requests per account every 10 seconds, or 300 requests per minute.
Rate limited responses will be served with a 429
status code and a JSON body of:
{"error": "rate limit exceeded"}
and headers of:
"RateLimit-Limit" -> the maximum number of requests in the rate limit pool
"Retry-After" -> the number of seconds to wait before trying again
API lists are returned as arrays. A paginated entity in FireHydrant will return two top-level keys in the response object: a data key and a pagination key.
The data
key is returned as an array. Each item in the array includes all of the entity data specified in the API endpoint. (The per-page default for the array is 20 items.)
Pagination is the second key (pagination
) returned in the overall response body. It includes medtadata around the current page, total count of items, and options to go to the next and previous page. All of the specifications returned in the pagination object are available as URL parameters. So if you want to specify, for example, going to the second page of a response, you can send a request to the same endpoint but pass the URL parameter page=2.
For example, you might request https://api.firehydrant.io/v1/environments/ to retrieve environments data. The JSON returned contains the above-mentioned data section and pagination section. The data section includes various details about an incident, such as the environment name, description, and when it was created.
{
"data": [
{
"id": "f8125cf4-b3a7-4f88-b5ab-57a60b9ed89b",
"name": "Production - GCP",
"description": "",
"created_at": "2021-02-17T20:02:10.679Z"
},
{
"id": "a69f1f58-af77-4708-802d-7e73c0bf261c",
"name": "Staging",
"description": "",
"created_at": "2021-04-16T13:41:59.418Z"
}
],
"pagination": {
"count": 2,
"page": 1,
"items": 2,
"pages": 1,
"last": 1,
"prev": null,
"next": null
}
}
To request the second page, you'd request the same endpoint with the additional query parameter of page
in the URL:
GET https://api.firehydrant.io/v1/environments?page=2
If you need to modify the number of records coming back from FireHydrant, you can use the per_page
parameter (max is 200):
GET https://api.firehydrant.io/v1/environments?per_page=50
The SDK can be installed with either npm, pnpm, bun or yarn package managers.
npm add firehydrant
pnpm add firehydrant
bun add firehydrant
yarn add firehydrant zod
# Note that Yarn does not install peer dependencies automatically. You will need
# to install zod as shown above.
Note
This package is published with CommonJS and ES Modules (ESM) support.
This SDK is also an installable MCP server where the various SDK methods are exposed as tools that can be invoked by AI applications.
Node.js v20 or greater is required to run the MCP server from npm.
Claude installation steps
Add the following server definition to your claude_desktop_config.json
file:
{
"mcpServers": {
"Firehydrant": {
"command": "npx",
"args": [
"-y", "--package", "firehydrant",
"--",
"mcp", "start",
"--api-key", "..."
]
}
}
}
Cursor installation steps
Create a .cursor/mcp.json
file in your project root with the following content:
{
"mcpServers": {
"Firehydrant": {
"command": "npx",
"args": [
"-y", "--package", "firehydrant",
"--",
"mcp", "start",
"--api-key", "..."
]
}
}
}
You can also run MCP servers as a standalone binary with no additional dependencies. You must pull these binaries from available Github releases:
curl -L -o mcp-server \
https://github.com/{org}/{repo}/releases/download/{tag}/mcp-server-bun-darwin-arm64 && \
chmod +x mcp-server
If the repo is a private repo you must add your Github PAT to download a release -H "Authorization: Bearer {GITHUB_PAT}"
.
{
"mcpServers": {
"Todos": {
"command": "./DOWNLOAD/PATH/mcp-server",
"args": [
"start"
]
}
}
}
For a full list of server arguments, run:
npx -y --package firehydrant -- mcp start --help
For supported JavaScript runtimes, please consult RUNTIMES.md.
import { Firehydrant } from "firehydrant";
const firehydrant = new Firehydrant({
apiKey: process.env["FIREHYDRANT_API_KEY"] ?? "",
});
async function run() {
const result = await firehydrant.accountSettings.ping();
// Handle the result
console.log(result);
}
run();
This SDK supports the following security scheme globally:
Name | Type | Scheme | Environment Variable |
---|---|---|---|
apiKey |
apiKey | API key | FIREHYDRANT_API_KEY |
To authenticate with the API the apiKey
parameter must be set when initializing the SDK client instance. For example:
import { Firehydrant } from "firehydrant";
const firehydrant = new Firehydrant({
apiKey: process.env["FIREHYDRANT_API_KEY"] ?? "",
});
async function run() {
const result = await firehydrant.accountSettings.ping();
// Handle the result
console.log(result);
}
run();
Available methods
- ping - Check API connectivity
- listEntitlements - List entitlements
- pingNoauth - Check API connectivity
- getBootstrap - Get initial application configuration
- getAiPreferences - Get AI preferences
- updateAiPreferences - Update AI preferences
- listIncidentAlerts - List alerts for an incident
- createIncidentAlert - Attach an alert to an incident
- updateIncidentAlertPrimary - Set an alert as primary for an incident
- deleteIncidentAlert - Remove an alert from an incident
- listAlerts - List alerts
- getAlert - Get an alert
- listProcessingLogEntries - List alert processing log entries
- listAudiences - List audiences
- createAudience - Create audience
- getAudience - Get audience
- archiveAudience - Archive audience
- updateAudience - Update audience
- restoreAudience - Restore audience
- getMemberDefaultAudience - Get default audience
- setMemberDefaultAudience - Set default audience
- getAudienceSummary - Get latest summary
- generateAudienceSummary - Generate summary
- listAudienceSummaries - List audience summaries
- listCallRoutes - List call routes
- listEnvironments - List environments
- createEnvironment - Create an environment
- getEnvironment - Get an environment
- deleteEnvironment - Archive an environment
- updateEnvironment - Update an environment
- listServices - List services
- createService - Create a service
- createServiceLinks - Create multiple services linked to external services
- getService - Get a service
- deleteService - Delete a service
- updateService - Update a service
- getServiceDependencies - List dependencies for a service
- listServiceAvailableUpstreamDependencies - List available upstream service dependencies
- listServiceAvailableDownstreamDependencies - List available downstream service dependencies
- deleteServiceLink - Delete a service link
- createServiceChecklistResponse - Record a response for a checklist item
- createServiceDependency - Create a service dependency
- getServiceDependency - Get a service dependency
- deleteServiceDependency - Delete a service dependency
- updateServiceDependency - Update a service dependency
- listFunctionalities - List functionalities
- createFunctionality - Create a functionality
- getFunctionality - Get a functionality
- deleteFunctionality - Archive a functionality
- updateFunctionality - Update a functionality
- listFunctionalityServices - List services for a functionality
- listUserOwnedServices - List services owned by a user's teams
- listInfrastructures - Lists functionality, service and environment objects
- refreshCatalog - Refresh a service catalog
- ingestCatalogData - Ingest service catalog data
- listChanges - List changes
- createChange - Create a new change entry
- deleteChange - Archive a change entry
- updateChange - Update a change entry
- listChangeIdentities - List identities for a change entry
- createChangeIdentity - Create an identity for a change entry
- deleteChangeIdentity - Delete an identity from a change entry
- updateChangeIdentity - Update an identity for a change entry
- listChangeEvents - List change events
- createChangeEvent - Create a change event
- getChangeEvent - Get a change event
- deleteChangeEvent - Delete a change event
- updateChangeEvent - Update a change event
- listChangeTypes - List change types
- listStatusUpdateTemplates - List status update templates
- createStatusUpdateTemplate - Create a status update template
- getStatusUpdateTemplate - Get a status update template
- deleteStatusUpdateTemplate - Delete a status update template
- updateStatusUpdateTemplate - Update a status update template
- getVoteStatus - Get votes
- updateVote - Update votes
- deleteCommentReaction - Delete a reaction from a conversation comment
- listCommentReactions - List reactions for a conversation comment
- createCommentReaction - Create a reaction for a conversation comment
- getComment - Get a conversation comment
- deleteComment - Archive a conversation comment
- updateComment - Update a conversation comment
- listComments - List comments for a conversation
- createComment - Create a conversation comment
- listIncidents - List incidents
- createIncident - Create an incident
- getIncidentChannel - Get chat channel information for an incident
- closeIncident - Close an incident
- resolveIncident - Resolve an incident
- getIncident - Get an incident
- deleteIncident - Archive an incident
- updateIncident - Update an incident
- unarchiveIncident - Unarchive an incident
- bulkUpdateIncidentMilestones - Update milestone times
- listIncidentMilestones - List incident milestones
- listIncidentChangeEvents - List related changes on an incident
- createIncidentChangeEvent - Add a related change to an incident
- updateIncidentChangeEvent - Update a change attached to an incident
- listIncidentStatusPages - List status pages for an incident
- createIncidentStatusPage - Add a status page to an incident
- listIncidentLinks - List links on an incident
- createIncidentLink - Add a link to an incident
- updateIncidentLink - Update the external incident link
- deleteIncidentLink - Remove a link from an incident
- updateTranscriptAttribution - Update the attribution of a transcript
- listTranscriptEntries - Lists all of the messages in the incident's transcript
- deleteTranscriptEntry - Delete a transcript from an incident
- listIncidentConferenceBridges - Retrieve all conference bridges for an incident
- getConferenceBridgeTranslation - Retrieve the translations for a specific conference bridge
- listSimilarIncidents - List similar incidents
- listIncidentAttachments - List attachments for an incident
- createIncidentAttachment - Add an attachment to the incident timeline
- listIncidentEvents - List events for an incident
- getIncidentEvent - Get an incident event
- deleteIncidentEvent - Delete an incident event
- updateIncidentEvent - Update an incident event
- updateIncidentImpactPut - Update impacts for an incident
- updateIncidentImpactPatch - Update impacts for an incident
- listIncidentImpacts - List impacted infrastructure for an incident
- createIncidentImpact - Add impacted infrastructure to an incident
- deleteIncidentImpact - Remove impacted infrastructure from an incident
- createIncidentNote - Add a note to an incident
- updateIncidentNote - Update a note
- createIncidentChatMessage - Add a chat message to an incident
- deleteIncidentChatMessage - Delete a chat message from an incident
- updateIncidentChatMessage - Update a chat message on an incident
- listIncidentRoleAssignments - List incident assignees
- createIncidentRoleAssignment - Assign a user to an incident
- deleteIncidentRoleAssignment - Unassign a user from an incident
- createIncidentTeamAssignment - Assign a team to an incident
- deleteIncidentTeamAssignment - Unassign a team from an incident
- getIncidentUser - Get the current user's incident role
- getIncidentRelationships - List incident relationships
- listScheduledMaintenances - List scheduled maintenance events
- createScheduledMaintenance - Create a scheduled maintenance event
- getScheduledMaintenance - Get a scheduled maintenance event
- deleteScheduledMaintenance - Delete a scheduled maintenance event
- updateScheduledMaintenance - Update a scheduled maintenance event
- getAiIncidentSummaryVoteStatus - Get the current user's vote status for an AI-generated incident summary
- voteAiIncidentSummary - Vote on an AI-generated incident summary
- listIncidentRoles - List incident roles
- createIncidentRole - Create an incident role
- getIncidentRole - Get an incident role
- deleteIncidentRole - Archive an incident role
- updateIncidentRole - Update an incident role
- validateIncidentTags - Validate incident tags
- listIncidentTags - List incident tags
- listIncidentTypes - List incident types
- createIncidentType - Create an incident type
- getIncidentType - Get an incident type
- deleteIncidentType - Archive an incident type
- updateIncidentType - Update an incident type
- listLifecycleMeasurementDefinitions - List measurement definitions
- createLifecycleMeasurementDefinition - Create a measurement definition
- getLifecycleMeasurementDefinition - Get a measurement definition
- deleteLifecycleMeasurementDefinition - Archive a measurement definition
- updateLifecycleMeasurementDefinition - Update a measurement definition
- listLifecyclePhases - List phases and milestones
- createLifecycleMilestone - Create a milestone
- deleteLifecycleMilestone - Delete a milestone
- updateLifecycleMilestone - Update a milestone
- listPriorities - List priorities
- createPriority - Create a priority
- getPriority - Get a priority
- deletePriority - Delete a priority
- updatePriority - Update a priority
- listSeverities - List severities
- createSeverity - Create a severity
- getSeverity - Get a severity
- deleteSeverity - Delete a severity
- updateSeverity - Update a severity
- getSeverityMatrix - Get severity matrix
- updateSeverityMatrix - Update severity matrix
- listSeverityMatrixConditions - List severity matrix conditions
- createSeverityMatrixCondition - Create a severity matrix condition
- getSeverityMatrixCondition - Get a severity matrix condition
- deleteSeverityMatrixCondition - Delete a severity matrix condition
- updateSeverityMatrixCondition - Update a severity matrix condition
- listSeverityMatrixImpacts - List severity matrix impacts
- createSeverityMatrixImpact - Create a severity matrix impact
- deleteSeverityMatrixImpact - Delete a severity matrix impact
- updateSeverityMatrixImpact - Update a severity matrix impact
- deleteCustomFieldDefinition - Delete a custom field definition
- updateCustomFieldDefinition - Update a custom field definition
- listCustomFieldDefinitions - List custom field definitions
- createCustomFieldDefinition - Create a custom field definition
- listCustomFieldSelectOptions - Get available values for a custom field
- getFormConfiguration - Get a form configuration
- listIntegrations - List integrations
- getIntegration - Get an integration
- updateFieldMap - Update field mapping
- listFieldMapAvailableFields - List available fields for field mapping
- listAuthedProviders - Lists the available and configured integrations
- updateAuthedProvider - Get an authed provider
- listConnections - List integration connections
- createConnection - Create a new integration connection
- refreshConnection - Refresh an integration connection
- updateConnection - Update an integration connection
- listConnectionStatuses - Get integration connection status
- listConnectionStatusesBySlug - Get an integration connection status
- listConnectionStatusesBySlugAndId - Get an integration connection status
- listAwsConnections - List AWS connections
- getAwsConnection - Get an AWS connection
- updateAwsConnection - Update an AWS connection
- listAwsCloudtrailBatches - List CloudTrail batches
- getAwsCloudtrailBatch - Get a CloudTrail batch
- updateAwsCloudtrailBatch - Update a CloudTrail batch
- listAwsCloudtrailBatchEvents - List events for an AWS CloudTrail batch
- searchConfluenceSpaces - List Confluence spaces
- listSlackWorkspaces - List Slack workspaces
- listSlackUsergroups - List Slack user groups
- listSlackEmojiActions - List Slack emoji actions
- createSlackEmojiAction - Create a new Slack emoji action
- getSlackEmojiAction - Get a Slack emoji action
- deleteSlackEmojiAction - Delete a Slack emoji action
- updateSlackEmojiAction - Update a Slack emoji action
- listStatuspageConnections - List Statuspage connections
- getStatuspageConnection - Get a Statuspage connection
- deleteStatuspageConnection - Delete a Statuspage connection
- updateStatuspageConnection - Update a Statuspage connection
- listStatuspageConnectionPages - List StatusPage pages for a connection
- searchZendeskTickets - Search for Zendesk tickets
- getZendeskCustomerSupportIssue - Search for Zendesk tickets
- getMeanTimeReport - Get mean time metrics for incidents
- listRetrospectiveMetrics - List retrospective metrics
- listUserInvolvementMetrics - List user metrics
- listIncidentMetrics - List incident metrics and analytics
- listInfrastructureTypeMetrics - List metrics for a component type
- listInfrastructureMetrics - Get metrics for a component
- getSavedSearch - Get a saved search
- deleteSavedSearch - Delete a saved search
- updateSavedSearch - Update a saved search
- listSavedSearches - List saved searches
- createSavedSearch - Create a saved search
- getSignalsTimeseriesAnalytics - Generate timeseries alert metrics
- getSignalsGroupedMetrics - Generate grouped alert metrics
- getSignalsMttxAnalytics - Get MTTX analytics for signals
- shareIncidentRetrospectives - Share an incident's retrospective
- exportIncidentRetrospectives - Export an incident's retrospective(s)
- listIncidentRetrospectives - All attached retrospectives for an incident
- createIncidentRetrospective - Create a new retrospective on the incident using the template
- updateIncidentRetrospective - Update a retrospective on the incident
- createIncidentRetrospectiveField - Appends a new incident retrospective field to an incident retrospective
- getIncidentRetrospectiveField - Get a retrospective field
- updateIncidentRetrospectiveField - Update the value on a retrospective field
- createIncidentRetrospectiveDynamicInput - Add a new dynamic input field to a retrospective's dynamic input group field
- deleteIncidentRetrospectiveDynamicInput - Removes a dynamic input from a retrospective's dynamic input group field
- listRetrospectives - List retrospective reports
- listPostMortemReports - List retrospective reports
- createPostMortemReport - Create a retrospective report
- getPostMortemReport - Get a retrospective report
- updatePostMortemReport - Update a retrospective report
- listPostMortemReasons - List contributing factors for a retrospective report
- createPostMortemReason - Create a contributing factor for a retrospective report
- deletePostMortemReason - Delete a contributing factor from a retrospective report
- updatePostMortemReason - Update a contributing factor in a retrospective report
- reorderPostMortemReasons - Reorder a contributing factor for a retrospective report
- publishPostMortemReport - Publish a retrospective report
- updatePostMortemField - Update a retrospective field
- listPostMortemQuestions - List retrospective questions
- updatePostMortemQuestions - Update retrospective questions
- getPostMortemQuestion - Get a retrospective question
- listRetrospectiveTemplates - List retrospective templates
- createRetrospectiveTemplate - Create a retrospective template
- getRetrospectiveTemplate - Get a retrospective template
- deleteRetrospectiveTemplate - Delete a retrospective template
- updateRetrospectiveTemplate - Update a retrospective template
- listRunbookActions - List runbook actions
- listRunbookExecutions - List runbook executions
- createRunbookExecution - Create a runbook execution
- getRunbookExecution - Get a runbook execution
- deleteRunbookExecution - Terminate a runbook execution
- updateRunbookExecutionStep - Update a runbook step execution
- getRunbookExecutionStepScript - Get a step's bash script
- updateRunbookExecutionStepScript - Update a script step's execution status
- getRunbookActionFieldOptions - List select options for a runbook integration action field
- listRunbooks - List runbooks
- createRunbook - Create a runbook
- getRunbook - Get a runbook
- updateRunbook - Update a runbook
- deleteRunbook - Delete a runbook
- listRunbookAudits - List runbook audits
- getScimGroup - Get a SCIM group
- updateScimGroup - Update a SCIM group and assign members
- deleteScimGroup - Delete a SCIM group
- listScimGroups - List SCIM groups
- createScimGroup - Create a SCIM group and assign members
- getScimUser - Get a SCIM user
- updateScimUser - Update a User from SCIM data
- deleteScimUser - Delete a User matching SCIM data
- patchScimUser - Update a User from SCIM data
- listScimUsers - List SCIM users
- createScimUser - Create a User from SCIM data
- listTeamEscalationPolicies - List escalation policies for a team
- createTeamEscalationPolicy - Create an escalation policy for a team
- getTeamEscalationPolicy - Get an escalation policy for a team
- deleteTeamEscalationPolicy - Delete an escalation policy for a team
- updateTeamEscalationPolicy - Update an escalation policy for a team
- listTeamOnCallSchedules - List on-call schedules for a team
- createTeamOnCallSchedule - Create an on-call schedule for a team
- getTeamOnCallSchedule - Get an on-call schedule for a team
- deleteTeamOnCallSchedule - Delete an on-call schedule for a team
- updateTeamOnCallSchedule - Update an on-call schedule for a team
- createOnCallShift - Create a shift for an on-call schedule
- getOnCallShift - Get an on-call shift for a team schedule
- deleteOnCallShift - Delete an on-call shift from a team schedule
- updateOnCallShift - Update an on-call shift for a team schedule
- listTeamSignalRules - List Signals rules
- createTeamSignalRule - Create a Signals rule
- getTeamSignalRule - Get a Signals rule
- deleteTeamSignalRule - Delete a Signals rule
- updateTeamSignalRule - Update a Signals rule
- listSignalsEventSources - List event sources for Signals
- listSignalsEmailTargets - List email targets for signals
- createSignalsEmailTarget - Create an email target for signals
- getSignalsEmailTarget - Get a signal email target
- deleteSignalsEmailTarget - Delete a signal email target
- updateSignalsEmailTarget - Update an email target
- listSignalsWebhookTargets - List webhook targets
- createSignalsWebhookTarget - Create a webhook target
- getSignalsWebhookTarget - Get a webhook target
- deleteSignalsWebhookTarget - Delete a webhook target
- updateSignalsWebhookTarget - Update a webhook target
- listSignalsTransposers - List signal transposers
- getSignalsIngestUrl - Get the signals ingestion URL
- debugSignalsExpression - Debug Signals expressions
- listOrganizationOnCallSchedules - List on-call schedules
- deleteIncidentStatusPage - Remove a status page from an incident
- listNuncConnections - List status pages
- createNuncConnection - Create a status page
- listEmailSubscribers - List status page subscribers
- createEmailSubscriber - Add subscribers to a status page
- deleteEmailSubscriber - Remove subscribers from a status page
- getNuncConnection - Get a status page
- updateNuncConnection - Update a status page
- deleteNuncConnection - Delete a status page
- deleteNuncComponentGroup - Delete a status page component group
- updateNuncComponentGroup - Update a status page component group
- createNuncComponentGroup - Create a component group for a status page
- deleteNuncLink - Delete a status page link
- updateNuncLink - Update a status page link
- createNuncLink - Add link to a status page
- updateNuncImage - Upload an image for a status page
- deleteNuncImage - Delete an image from a status page
- deleteNuncSubscription - Unsubscribe from status page notifications
- createNuncSubscription - Create a status page subscription
- createIncidentTaskList - Add tasks from a task list to an incident
- listIncidentTasks - List tasks for an incident
- createIncidentTask - Create an incident task
- getIncidentTask - Get an incident task
- deleteIncidentTask - Delete an incident task
- updateIncidentTask - Update an incident task
- convertIncidentTask - Convert a task to a follow-up
- listTaskLists - List task lists
- createTaskList - Create a task list
- getTaskList - Get a task list
- deleteTaskList - Delete a task list
- updateTaskList - Update a task list
- listChecklistTemplates - List checklist templates
- createChecklistTemplate - Create a checklist template
- getChecklistTemplate - Get a checklist template
- deleteChecklistTemplate - Archive a checklist template
- updateChecklistTemplate - Update a checklist template
- listTeams - List teams
- createTeam - Create a team
- getTeam - Get a team
- deleteTeam - Archive a team
- updateTeam - Update a team
- listSchedules - List schedules
- listTickets - List tickets
- createTicket - Create a ticket
- getTicket - Get a ticket
- deleteTicket - Archive a ticket
- updateTicket - Update a ticket
- listTicketingProjects - List ticketing projects
- getTicketingProject - Get a ticketing project
- getConfigurationOptions - List configuration options for a ticketing project
- getOptionsForField - List a field's configuration options for a ticketing project
- listAvailableTicketingFieldMaps - List available fields for ticket field mapping
- createTicketingFieldMap - Create a field mapping for a ticketing project
- getTicketingFieldMap - Get a field map for a ticketing project
- deleteTicketingFieldMap - Archive a field map for a ticketing project
- updateTicketingFieldMap - Update a field map for a ticketing project
- listAvailableInboundFieldMaps - List available fields for ticket field mapping
- listInboundFieldMaps - List inbound field maps for a ticketing project
- createInboundFieldMap - Create inbound field map for a ticketing project
- getInboundFieldMap - Get inbound field map for a ticketing project
- updateInboundFieldMap - Update inbound field map for a ticketing project
- deleteInboundFieldMap - Archive inbound field map for a ticketing project
- createTicketingProjectConfig - Create a ticketing project configuration
- getTicketingProjectConfig - Get configuration for a ticketing project
- deleteTicketingProjectConfig - Archive a ticketing project configuration
- updateTicketingProjectConfig - Update configuration for a ticketing project
- listTicketingPriorities - List ticketing priorities
- createTicketingPriority - Create a ticketing priority
- getTicketingPriority - Get a ticketing priority
- deleteTicketingPriority - Delete a ticketing priority
- updateTicketingPriority - Update a ticketing priority
- listTicketTags - List ticket tags
- listUsers - List users
- getUser - Get a user
- getCurrentUser - Get the currently authenticated user
- listWebhooks - List webhooks
- createWebhook - Create a webhook
- listWebhookDeliveries - List webhook deliveries
- getWebhook - Get a webhook
- deleteWebhook - Delete a webhook
- updateWebhook - Update a webhook
All the methods listed above are available as standalone functions. These functions are ideal for use in applications running in the browser, serverless runtimes or other environments where application bundle size is a primary concern. When using a bundler to build your application, all unused functionality will be either excluded from the final bundle or tree-shaken away.
To read more about standalone functions, check FUNCTIONS.md.
Available standalone functions
accountSettingsGetAiPreferences
- Get AI preferencesaccountSettingsGetBootstrap
- Get initial application configurationaccountSettingsListEntitlements
- List entitlementsaccountSettingsPing
- Check API connectivityaccountSettingsPingNoauth
- Check API connectivityaccountSettingsUpdateAiPreferences
- Update AI preferencesalertsCreateIncidentAlert
- Attach an alert to an incidentalertsDeleteIncidentAlert
- Remove an alert from an incidentalertsGetAlert
- Get an alertalertsListAlerts
- List alertsalertsListIncidentAlerts
- List alerts for an incidentalertsListProcessingLogEntries
- List alert processing log entriesalertsUpdateIncidentAlertPrimary
- Set an alert as primary for an incidentaudiencesArchiveAudience
- Archive audienceaudiencesCreateAudience
- Create audienceaudiencesGenerateAudienceSummary
- Generate summaryaudiencesGetAudience
- Get audienceaudiencesGetAudienceSummary
- Get latest summaryaudiencesGetMemberDefaultAudience
- Get default audienceaudiencesListAudiences
- List audiencesaudiencesListAudienceSummaries
- List audience summariesaudiencesRestoreAudience
- Restore audienceaudiencesSetMemberDefaultAudience
- Set default audienceaudiencesUpdateAudience
- Update audiencecallRoutesListCallRoutes
- List call routescatalogEntriesCreateEnvironment
- Create an environmentcatalogEntriesCreateFunctionality
- Create a functionalitycatalogEntriesCreateService
- Create a servicecatalogEntriesCreateServiceChecklistResponse
- Record a response for a checklist itemcatalogEntriesCreateServiceDependency
- Create a service dependencycatalogEntriesCreateServiceLinks
- Create multiple services linked to external servicescatalogEntriesDeleteEnvironment
- Archive an environmentcatalogEntriesDeleteFunctionality
- Archive a functionalitycatalogEntriesDeleteService
- Delete a servicecatalogEntriesDeleteServiceDependency
- Delete a service dependencycatalogEntriesDeleteServiceLink
- Delete a service linkcatalogEntriesGetEnvironment
- Get an environmentcatalogEntriesGetFunctionality
- Get a functionalitycatalogEntriesGetService
- Get a servicecatalogEntriesGetServiceDependencies
- List dependencies for a servicecatalogEntriesGetServiceDependency
- Get a service dependencycatalogEntriesIngestCatalogData
- Ingest service catalog datacatalogEntriesListEnvironments
- List environmentscatalogEntriesListFunctionalities
- List functionalitiescatalogEntriesListFunctionalityServices
- List services for a functionalitycatalogEntriesListInfrastructures
- Lists functionality, service and environment objectscatalogEntriesListServiceAvailableDownstreamDependencies
- List available downstream service dependenciescatalogEntriesListServiceAvailableUpstreamDependencies
- List available upstream service dependenciescatalogEntriesListServices
- List servicescatalogEntriesListUserOwnedServices
- List services owned by a user's teamscatalogEntriesRefreshCatalog
- Refresh a service catalogcatalogEntriesUpdateEnvironment
- Update an environmentcatalogEntriesUpdateFunctionality
- Update a functionalitycatalogEntriesUpdateService
- Update a servicecatalogEntriesUpdateServiceDependency
- Update a service dependencychangesCreateChange
- Create a new change entrychangesCreateChangeEvent
- Create a change eventchangesCreateChangeIdentity
- Create an identity for a change entrychangesDeleteChange
- Archive a change entrychangesDeleteChangeEvent
- Delete a change eventchangesDeleteChangeIdentity
- Delete an identity from a change entrychangesGetChangeEvent
- Get a change eventchangesListChangeEvents
- List change eventschangesListChangeIdentities
- List identities for a change entrychangesListChanges
- List changeschangesListChangeTypes
- List change typeschangesUpdateChange
- Update a change entrychangesUpdateChangeEvent
- Update a change eventchangesUpdateChangeIdentity
- Update an identity for a change entrycommunicationCreateStatusUpdateTemplate
- Create a status update templatecommunicationDeleteStatusUpdateTemplate
- Delete a status update templatecommunicationGetStatusUpdateTemplate
- Get a status update templatecommunicationListStatusUpdateTemplates
- List status update templatescommunicationUpdateStatusUpdateTemplate
- Update a status update templateconversationsCreateComment
- Create a conversation commentconversationsCreateCommentReaction
- Create a reaction for a conversation commentconversationsDeleteComment
- Archive a conversation commentconversationsDeleteCommentReaction
- Delete a reaction from a conversation commentconversationsGetComment
- Get a conversation commentconversationsGetVoteStatus
- Get votesconversationsListCommentReactions
- List reactions for a conversation commentconversationsListComments
- List comments for a conversationconversationsUpdateComment
- Update a conversation commentconversationsUpdateVote
- Update votesincidentsBulkUpdateIncidentMilestones
- Update milestone timesincidentsCloseIncident
- Close an incidentincidentsCreateIncident
- Create an incidentincidentsCreateIncidentAttachment
- Add an attachment to the incident timelineincidentsCreateIncidentChangeEvent
- Add a related change to an incidentincidentsCreateIncidentChatMessage
- Add a chat message to an incidentincidentsCreateIncidentImpact
- Add impacted infrastructure to an incidentincidentsCreateIncidentLink
- Add a link to an incidentincidentsCreateIncidentNote
- Add a note to an incidentincidentsCreateIncidentRoleAssignment
- Assign a user to an incidentincidentsCreateIncidentStatusPage
- Add a status page to an incidentincidentsCreateIncidentTeamAssignment
- Assign a team to an incidentincidentsCreateScheduledMaintenance
- Create a scheduled maintenance eventincidentsDeleteIncident
- Archive an incidentincidentsDeleteIncidentChatMessage
- Delete a chat message from an incidentincidentsDeleteIncidentEvent
- Delete an incident eventincidentsDeleteIncidentImpact
- Remove impacted infrastructure from an incidentincidentsDeleteIncidentLink
- Remove a link from an incidentincidentsDeleteIncidentRoleAssignment
- Unassign a user from an incidentincidentsDeleteIncidentTeamAssignment
- Unassign a team from an incidentincidentsDeleteScheduledMaintenance
- Delete a scheduled maintenance eventincidentsDeleteTranscriptEntry
- Delete a transcript from an incidentincidentSettingsCreateCustomFieldDefinition
- Create a custom field definitionincidentSettingsCreateIncidentRole
- Create an incident roleincidentSettingsCreateIncidentType
- Create an incident typeincidentSettingsCreateLifecycleMeasurementDefinition
- Create a measurement definitionincidentSettingsCreateLifecycleMilestone
- Create a milestoneincidentSettingsCreatePriority
- Create a priorityincidentSettingsCreateSeverity
- Create a severityincidentSettingsCreateSeverityMatrixCondition
- Create a severity matrix conditionincidentSettingsCreateSeverityMatrixImpact
- Create a severity matrix impactincidentSettingsDeleteCustomFieldDefinition
- Delete a custom field definitionincidentSettingsDeleteIncidentRole
- Archive an incident roleincidentSettingsDeleteIncidentType
- Archive an incident typeincidentSettingsDeleteLifecycleMeasurementDefinition
- Archive a measurement definitionincidentSettingsDeleteLifecycleMilestone
- Delete a milestoneincidentSettingsDeletePriority
- Delete a priorityincidentSettingsDeleteSeverity
- Delete a severityincidentSettingsDeleteSeverityMatrixCondition
- Delete a severity matrix conditionincidentSettingsDeleteSeverityMatrixImpact
- Delete a severity matrix impactincidentSettingsGetFormConfiguration
- Get a form configurationincidentSettingsGetIncidentRole
- Get an incident roleincidentSettingsGetIncidentType
- Get an incident typeincidentSettingsGetLifecycleMeasurementDefinition
- Get a measurement definitionincidentSettingsGetPriority
- Get a priorityincidentSettingsGetSeverity
- Get a severityincidentSettingsGetSeverityMatrix
- Get severity matrixincidentSettingsGetSeverityMatrixCondition
- Get a severity matrix conditionincidentSettingsListCustomFieldDefinitions
- List custom field definitionsincidentSettingsListCustomFieldSelectOptions
- Get available values for a custom fieldincidentSettingsListIncidentRoles
- List incident rolesincidentSettingsListIncidentTags
- List incident tagsincidentSettingsListIncidentTypes
- List incident typesincidentSettingsListLifecycleMeasurementDefinitions
- List measurement definitionsincidentSettingsListLifecyclePhases
- List phases and milestonesincidentSettingsListPriorities
- List prioritiesincidentSettingsListSeverities
- List severitiesincidentSettingsListSeverityMatrixConditions
- List severity matrix conditionsincidentSettingsListSeverityMatrixImpacts
- List severity matrix impactsincidentSettingsUpdateCustomFieldDefinition
- Update a custom field definitionincidentSettingsUpdateIncidentRole
- Update an incident roleincidentSettingsUpdateIncidentType
- Update an incident typeincidentSettingsUpdateLifecycleMeasurementDefinition
- Update a measurement definitionincidentSettingsUpdateLifecycleMilestone
- Update a milestoneincidentSettingsUpdatePriority
- Update a priorityincidentSettingsUpdateSeverity
- Update a severityincidentSettingsUpdateSeverityMatrix
- Update severity matrixincidentSettingsUpdateSeverityMatrixCondition
- Update a severity matrix conditionincidentSettingsUpdateSeverityMatrixImpact
- Update a severity matrix impactincidentSettingsValidateIncidentTags
- Validate incident tagsincidentsGetAiIncidentSummaryVoteStatus
- Get the current user's vote status for an AI-generated incident summaryincidentsGetConferenceBridgeTranslation
- Retrieve the translations for a specific conference bridgeincidentsGetIncident
- Get an incidentincidentsGetIncidentChannel
- Get chat channel information for an incidentincidentsGetIncidentEvent
- Get an incident eventincidentsGetIncidentRelationships
- List incident relationshipsincidentsGetIncidentUser
- Get the current user's incident roleincidentsGetScheduledMaintenance
- Get a scheduled maintenance eventincidentsListIncidentAttachments
- List attachments for an incidentincidentsListIncidentChangeEvents
- List related changes on an incidentincidentsListIncidentConferenceBridges
- Retrieve all conference bridges for an incidentincidentsListIncidentEvents
- List events for an incidentincidentsListIncidentImpacts
- List impacted infrastructure for an incidentincidentsListIncidentLinks
- List links on an incidentincidentsListIncidentMilestones
- List incident milestonesincidentsListIncidentRoleAssignments
- List incident assigneesincidentsListIncidents
- List incidentsincidentsListIncidentStatusPages
- List status pages for an incidentincidentsListScheduledMaintenances
- List scheduled maintenance eventsincidentsListSimilarIncidents
- List similar incidentsincidentsListTranscriptEntries
- Lists all of the messages in the incident's transcriptincidentsResolveIncident
- Resolve an incidentincidentsUnarchiveIncident
- Unarchive an incidentincidentsUpdateIncident
- Update an incidentincidentsUpdateIncidentChangeEvent
- Update a change attached to an incidentincidentsUpdateIncidentChatMessage
- Update a chat message on an incidentincidentsUpdateIncidentEvent
- Update an incident eventincidentsUpdateIncidentImpactPatch
- Update impacts for an incidentincidentsUpdateIncidentImpactPut
- Update impacts for an incidentincidentsUpdateIncidentLink
- Update the external incident linkincidentsUpdateIncidentNote
- Update a noteincidentsUpdateScheduledMaintenance
- Update a scheduled maintenance eventincidentsUpdateTranscriptAttribution
- Update the attribution of a transcriptincidentsVoteAiIncidentSummary
- Vote on an AI-generated incident summaryintegrationsCreateConnection
- Create a new integration connectionintegrationsCreateSlackEmojiAction
- Create a new Slack emoji actionintegrationsDeleteSlackEmojiAction
- Delete a Slack emoji actionintegrationsDeleteStatuspageConnection
- Delete a Statuspage connectionintegrationsGetAwsCloudtrailBatch
- Get a CloudTrail batchintegrationsGetAwsConnection
- Get an AWS connectionintegrationsGetIntegration
- Get an integrationintegrationsGetSlackEmojiAction
- Get a Slack emoji actionintegrationsGetStatuspageConnection
- Get a Statuspage connectionintegrationsGetZendeskCustomerSupportIssue
- Search for Zendesk ticketsintegrationsListAuthedProviders
- Lists the available and configured integrationsintegrationsListAwsCloudtrailBatches
- List CloudTrail batchesintegrationsListAwsCloudtrailBatchEvents
- List events for an AWS CloudTrail batchintegrationsListAwsConnections
- List AWS connectionsintegrationsListConnections
- List integration connectionsintegrationsListConnectionStatuses
- Get integration connection statusintegrationsListConnectionStatusesBySlug
- Get an integration connection statusintegrationsListConnectionStatusesBySlugAndId
- Get an integration connection statusintegrationsListFieldMapAvailableFields
- List available fields for field mappingintegrationsListIntegrations
- List integrationsintegrationsListSlackEmojiActions
- List Slack emoji actionsintegrationsListSlackUsergroups
- List Slack user groupsintegrationsListSlackWorkspaces
- List Slack workspacesintegrationsListStatuspageConnectionPages
- List StatusPage pages for a connectionintegrationsListStatuspageConnections
- List Statuspage connectionsintegrationsRefreshConnection
- Refresh an integration connectionintegrationsSearchConfluenceSpaces
- List Confluence spacesintegrationsSearchZendeskTickets
- Search for Zendesk ticketsintegrationsUpdateAuthedProvider
- Get an authed providerintegrationsUpdateAwsCloudtrailBatch
- Update a CloudTrail batchintegrationsUpdateAwsConnection
- Update an AWS connectionintegrationsUpdateConnection
- Update an integration connectionintegrationsUpdateFieldMap
- Update field mappingintegrationsUpdateSlackEmojiAction
- Update a Slack emoji actionintegrationsUpdateStatuspageConnection
- Update a Statuspage connectionmetricsReportingCreateSavedSearch
- Create a saved searchmetricsReportingDeleteSavedSearch
- Delete a saved searchmetricsReportingGetMeanTimeReport
- Get mean time metrics for incidentsmetricsReportingGetSavedSearch
- Get a saved searchmetricsReportingGetSignalsGroupedMetrics
- Generate grouped alert metricsmetricsReportingGetSignalsMttxAnalytics
- Get MTTX analytics for signalsmetricsReportingGetSignalsTimeseriesAnalytics
- Generate timeseries alert metricsmetricsReportingListIncidentMetrics
- List incident metrics and analyticsmetricsReportingListInfrastructureMetrics
- Get metrics for a componentmetricsReportingListInfrastructureTypeMetrics
- List metrics for a component typemetricsReportingListRetrospectiveMetrics
- List retrospective metricsmetricsReportingListSavedSearches
- List saved searchesmetricsReportingListUserInvolvementMetrics
- List user metricsmetricsReportingUpdateSavedSearch
- Update a saved searchretrospectivesCreateIncidentRetrospective
- Create a new retrospective on the incident using the templateretrospectivesCreateIncidentRetrospectiveDynamicInput
- Add a new dynamic input field to a retrospective's dynamic input group fieldretrospectivesCreateIncidentRetrospectiveField
- Appends a new incident retrospective field to an incident retrospectiveretrospectivesCreatePostMortemReason
- Create a contributing factor for a retrospective reportretrospectivesCreatePostMortemReport
- Create a retrospective reportretrospectivesCreateRetrospectiveTemplate
- Create a retrospective templateretrospectivesDeleteIncidentRetrospectiveDynamicInput
- Removes a dynamic input from a retrospective's dynamic input group fieldretrospectivesDeletePostMortemReason
- Delete a contributing factor from a retrospective reportretrospectivesDeleteRetrospectiveTemplate
- Delete a retrospective templateretrospectivesExportIncidentRetrospectives
- Export an incident's retrospective(s)retrospectivesGetIncidentRetrospectiveField
- Get a retrospective fieldretrospectivesGetPostMortemQuestion
- Get a retrospective questionretrospectivesGetPostMortemReport
- Get a retrospective reportretrospectivesGetRetrospectiveTemplate
- Get a retrospective templateretrospectivesListIncidentRetrospectives
- All attached retrospectives for an incidentretrospectivesListPostMortemQuestions
- List retrospective questionsretrospectivesListPostMortemReasons
- List contributing factors for a retrospective reportretrospectivesListPostMortemReports
- List retrospective reportsretrospectivesListRetrospectives
- List retrospective reportsretrospectivesListRetrospectiveTemplates
- List retrospective templatesretrospectivesPublishPostMortemReport
- Publish a retrospective reportretrospectivesReorderPostMortemReasons
- Reorder a contributing factor for a retrospective reportretrospectivesShareIncidentRetrospectives
- Share an incident's retrospectiveretrospectivesUpdateIncidentRetrospective
- Update a retrospective on the incidentretrospectivesUpdateIncidentRetrospectiveField
- Update the value on a retrospective fieldretrospectivesUpdatePostMortemField
- Update a retrospective fieldretrospectivesUpdatePostMortemQuestions
- Update retrospective questionsretrospectivesUpdatePostMortemReason
- Update a contributing factor in a retrospective reportretrospectivesUpdatePostMortemReport
- Update a retrospective reportretrospectivesUpdateRetrospectiveTemplate
- Update a retrospective templaterunbooksCreateRunbook
- Create a runbookrunbooksCreateRunbookExecution
- Create a runbook executionrunbooksDeleteRunbook
- Delete a runbookrunbooksDeleteRunbookExecution
- Terminate a runbook executionrunbooksGetRunbook
- Get a runbookrunbooksGetRunbookActionFieldOptions
- List select options for a runbook integration action fieldrunbooksGetRunbookExecution
- Get a runbook executionrunbooksGetRunbookExecutionStepScript
- Get a step's bash scriptrunbooksListRunbookActions
- List runbook actionsrunbooksListRunbookAudits
- List runbook auditsrunbooksListRunbookExecutions
- List runbook executionsrunbooksListRunbooks
- List runbooksrunbooksUpdateRunbook
- Update a runbookrunbooksUpdateRunbookExecutionStep
- Update a runbook step executionrunbooksUpdateRunbookExecutionStepScript
- Update a script step's execution statusscimCreateSCIMGroup
- Create a SCIM group and assign membersscimCreateSCIMUser
- Create a User from SCIM datascimDeleteSCIMGroup
- Delete a SCIM groupscimDeleteSCIMUser
- Delete a User matching SCIM datascimGetSCIMGroup
- Get a SCIM groupscimGetSCIMUser
- Get a SCIM userscimListSCIMGroups
- List SCIM groupsscimListSCIMUsers
- List SCIM usersscimPatchSCIMUser
- Update a User from SCIM datascimUpdateSCIMGroup
- Update a SCIM group and assign membersscimUpdateSCIMUser
- Update a User from SCIM datasignalsCreateOnCallShift
- Create a shift for an on-call schedulesignalsCreateSignalsEmailTarget
- Create an email target for signalssignalsCreateSignalsWebhookTarget
- Create a webhook targetsignalsCreateTeamEscalationPolicy
- Create an escalation policy for a teamsignalsCreateTeamOnCallSchedule
- Create an on-call schedule for a teamsignalsCreateTeamSignalRule
- Create a Signals rulesignalsDebugSignalsExpression
- Debug Signals expressionssignalsDeleteOnCallShift
- Delete an on-call shift from a team schedulesignalsDeleteSignalsEmailTarget
- Delete a signal email targetsignalsDeleteSignalsWebhookTarget
- Delete a webhook targetsignalsDeleteTeamEscalationPolicy
- Delete an escalation policy for a teamsignalsDeleteTeamOnCallSchedule
- Delete an on-call schedule for a teamsignalsDeleteTeamSignalRule
- Delete a Signals rulesignalsGetOnCallShift
- Get an on-call shift for a team schedulesignalsGetSignalsEmailTarget
- Get a signal email targetsignalsGetSignalsIngestUrl
- Get the signals ingestion URLsignalsGetSignalsWebhookTarget
- Get a webhook targetsignalsGetTeamEscalationPolicy
- Get an escalation policy for a teamsignalsGetTeamOnCallSchedule
- Get an on-call schedule for a teamsignalsGetTeamSignalRule
- Get a Signals rulesignalsListOrganizationOnCallSchedules
- List on-call schedulessignalsListSignalsEmailTargets
- List email targets for signalssignalsListSignalsEventSources
- List event sources for SignalssignalsListSignalsTransposers
- List signal transposerssignalsListSignalsWebhookTargets
- List webhook targetssignalsListTeamEscalationPolicies
- List escalation policies for a teamsignalsListTeamOnCallSchedules
- List on-call schedules for a teamsignalsListTeamSignalRules
- List Signals rulessignalsUpdateOnCallShift
- Update an on-call shift for a team schedulesignalsUpdateSignalsEmailTarget
- Update an email targetsignalsUpdateSignalsWebhookTarget
- Update a webhook targetsignalsUpdateTeamEscalationPolicy
- Update an escalation policy for a teamsignalsUpdateTeamOnCallSchedule
- Update an on-call schedule for a teamsignalsUpdateTeamSignalRule
- Update a Signals rulestatusPagesCreateEmailSubscriber
- Add subscribers to a status pagestatusPagesCreateNuncComponentGroup
- Create a component group for a status pagestatusPagesCreateNuncConnection
- Create a status pagestatusPagesCreateNuncLink
- Add link to a status pagestatusPagesCreateNuncSubscription
- Create a status page subscriptionstatusPagesDeleteEmailSubscriber
- Remove subscribers from a status pagestatusPagesDeleteIncidentStatusPage
- Remove a status page from an incidentstatusPagesDeleteNuncComponentGroup
- Delete a status page component groupstatusPagesDeleteNuncConnection
- Delete a status pagestatusPagesDeleteNuncImage
- Delete an image from a status pagestatusPagesDeleteNuncLink
- Delete a status page linkstatusPagesDeleteNuncSubscription
- Unsubscribe from status page notificationsstatusPagesGetNuncConnection
- Get a status pagestatusPagesListEmailSubscribers
- List status page subscribersstatusPagesListNuncConnections
- List status pagesstatusPagesUpdateNuncComponentGroup
- Update a status page component groupstatusPagesUpdateNuncConnection
- Update a status pagestatusPagesUpdateNuncImage
- Upload an image for a status pagestatusPagesUpdateNuncLink
- Update a status page linktasksConvertIncidentTask
- Convert a task to a follow-uptasksCreateChecklistTemplate
- Create a checklist templatetasksCreateIncidentTask
- Create an incident tasktasksCreateIncidentTaskList
- Add tasks from a task list to an incidenttasksCreateTaskList
- Create a task listtasksDeleteChecklistTemplate
- Archive a checklist templatetasksDeleteIncidentTask
- Delete an incident tasktasksDeleteTaskList
- Delete a task listtasksGetChecklistTemplate
- Get a checklist templatetasksGetIncidentTask
- Get an incident tasktasksGetTaskList
- Get a task listtasksListChecklistTemplates
- List checklist templatestasksListIncidentTasks
- List tasks for an incidenttasksListTaskLists
- List task liststasksUpdateChecklistTemplate
- Update a checklist templatetasksUpdateIncidentTask
- Update an incident tasktasksUpdateTaskList
- Update a task listteamsCreateTeam
- Create a teamteamsDeleteTeam
- Archive a teamteamsGetTeam
- Get a teamteamsListSchedules
- List schedulesteamsListTeams
- List teamsteamsUpdateTeam
- Update a teamticketingCreateInboundFieldMap
- Create inbound field map for a ticketing projectticketingCreateTicket
- Create a ticketticketingCreateTicketingFieldMap
- Create a field mapping for a ticketing projectticketingCreateTicketingPriority
- Create a ticketing priorityticketingCreateTicketingProjectConfig
- Create a ticketing project configurationticketingDeleteInboundFieldMap
- Archive inbound field map for a ticketing projectticketingDeleteTicket
- Archive a ticketticketingDeleteTicketingFieldMap
- Archive a field map for a ticketing projectticketingDeleteTicketingPriority
- Delete a ticketing priorityticketingDeleteTicketingProjectConfig
- Archive a ticketing project configurationticketingGetConfigurationOptions
- List configuration options for a ticketing projectticketingGetInboundFieldMap
- Get inbound field map for a ticketing projectticketingGetOptionsForField
- List a field's configuration options for a ticketing projectticketingGetTicket
- Get a ticketticketingGetTicketingFieldMap
- Get a field map for a ticketing projectticketingGetTicketingPriority
- Get a ticketing priorityticketingGetTicketingProject
- Get a ticketing projectticketingGetTicketingProjectConfig
- Get configuration for a ticketing projectticketingListAvailableInboundFieldMaps
- List available fields for ticket field mappingticketingListAvailableTicketingFieldMaps
- List available fields for ticket field mappingticketingListInboundFieldMaps
- List inbound field maps for a ticketing projectticketingListTicketingPriorities
- List ticketing prioritiesticketingListTicketingProjects
- List ticketing projectsticketingListTickets
- List ticketsticketingListTicketTags
- List ticket tagsticketingUpdateInboundFieldMap
- Update inbound field map for a ticketing projectticketingUpdateTicket
- Update a ticketticketingUpdateTicketingFieldMap
- Update a field map for a ticketing projectticketingUpdateTicketingPriority
- Update a ticketing priorityticketingUpdateTicketingProjectConfig
- Update configuration for a ticketing projectusersGetCurrentUser
- Get the currently authenticated userusersGetUser
- Get a userusersListUsers
- List userswebhooksCreateWebhook
- Create a webhookwebhooksDeleteWebhook
- Delete a webhookwebhooksGetWebhook
- Get a webhookwebhooksListWebhookDeliveries
- List webhook deliverieswebhooksListWebhooks
- List webhookswebhooksUpdateWebhook
- Update a webhook
Certain SDK methods accept files as part of a multi-part request. It is possible and typically recommended to upload files as a stream rather than reading the entire contents into memory. This avoids excessive memory consumption and potentially crashing with out-of-memory errors when working with very large files. The following example demonstrates how to attach a file stream to a request.
Tip
Depending on your JavaScript runtime, there are convenient utilities that return a handle to a file without reading the entire contents into memory:
- Node.js v20+: Since v20, Node.js comes with a native
openAsBlob
function innode:fs
. - Bun: The native
Bun.file
function produces a file handle that can be used for streaming file uploads. - Browsers: All supported browsers return an instance to a
File
when reading the value from an<input type="file">
element. - Node.js v18: A file stream can be created using the
fileFrom
helper fromfetch-blob/from.js
.
import { Firehydrant } from "firehydrant";
import { openAsBlob } from "node:fs";
const firehydrant = new Firehydrant({
apiKey: process.env["FIREHYDRANT_API_KEY"] ?? "",
});
async function run() {
const result = await firehydrant.incidents.createIncidentAttachment({
incidentId: "<id>",
requestBody: {
file: await openAsBlob("example.file"),
},
});
// Handle the result
console.log(result);
}
run();
Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.
To change the default retry strategy for a single API call, simply provide a retryConfig object to the call:
import { Firehydrant } from "firehydrant";
const firehydrant = new Firehydrant({
apiKey: process.env["FIREHYDRANT_API_KEY"] ?? "",
});
async function run() {
const result = await firehydrant.accountSettings.ping({
retries: {
strategy: "backoff",
backoff: {
initialInterval: 1,
maxInterval: 50,
exponent: 1.1,
maxElapsedTime: 100,
},
retryConnectionErrors: false,
},
});
// Handle the result
console.log(result);
}
run();
If you'd like to override the default retry strategy for all operations that support retries, you can provide a retryConfig at SDK initialization:
import { Firehydrant } from "firehydrant";
const firehydrant = new Firehydrant({
retryConfig: {
strategy: "backoff",
backoff: {
initialInterval: 1,
maxInterval: 50,
exponent: 1.1,
maxElapsedTime: 100,
},
retryConnectionErrors: false,
},
apiKey: process.env["FIREHYDRANT_API_KEY"] ?? "",
});
async function run() {
const result = await firehydrant.accountSettings.ping();
// Handle the result
console.log(result);
}
run();
Some methods specify known errors which can be thrown. All the known errors are enumerated in the models/errors/errors.ts
module. The known errors for a method are documented under the Errors tables in SDK docs. For example, the createService
method may throw the following errors:
Error Type | Status Code | Content Type |
---|---|---|
errors.ErrorEntity | 400 | application/json |
errors.APIError | 4XX, 5XX | */* |
If the method throws an error and it is not captured by the known errors, it will default to throwing a APIError
.
import { Firehydrant } from "firehydrant";
import { ErrorEntity, SDKValidationError } from "firehydrant/models/errors";
const firehydrant = new Firehydrant({
apiKey: process.env["FIREHYDRANT_API_KEY"] ?? "",
});
async function run() {
let result;
try {
result = await firehydrant.catalogEntries.createService({
name: "<value>",
});
// Handle the result
console.log(result);
} catch (err) {
switch (true) {
// The server response does not match the expected SDK schema
case (err instanceof SDKValidationError): {
// Pretty-print will provide a human-readable multi-line error message
console.error(err.pretty());
// Raw value may also be inspected
console.error(err.rawValue);
return;
}
case (err instanceof ErrorEntity): {
// Handle err.data$: ErrorEntityData
console.error(err);
return;
}
default: {
// Other errors such as network errors, see HTTPClientErrors for more details
throw err;
}
}
}
}
run();
Validation errors can also occur when either method arguments or data returned from the server do not match the expected format. The SDKValidationError
that is thrown as a result will capture the raw value that failed validation in an attribute called rawValue
. Additionally, a pretty()
method is available on this error that can be used to log a nicely formatted multi-line string since validation errors can list many issues and the plain error string may be difficult read when debugging.
In some rare cases, the SDK can fail to get a response from the server or even make the request due to unexpected circumstances such as network conditions. These types of errors are captured in the models/errors/httpclienterrors.ts
module:
HTTP Client Error | Description |
---|---|
RequestAbortedError | HTTP request was aborted by the client |
RequestTimeoutError | HTTP request timed out due to an AbortSignal signal |
ConnectionError | HTTP client was unable to make a request to a server |
InvalidRequestError | Any input used to create a request is invalid |
UnexpectedClientError | Unrecognised or unexpected error |
The default server can be overridden globally by passing a URL to the serverURL: string
optional parameter when initializing the SDK client instance. For example:
import { Firehydrant } from "firehydrant";
const firehydrant = new Firehydrant({
serverURL: "https://api.firehydrant.io/",
apiKey: process.env["FIREHYDRANT_API_KEY"] ?? "",
});
async function run() {
const result = await firehydrant.accountSettings.ping();
// Handle the result
console.log(result);
}
run();
The TypeScript SDK makes API calls using an HTTPClient
that wraps the native
Fetch API. This
client is a thin wrapper around fetch
and provides the ability to attach hooks
around the request lifecycle that can be used to modify the request or handle
errors and response.
The HTTPClient
constructor takes an optional fetcher
argument that can be
used to integrate a third-party HTTP client or when writing tests to mock out
the HTTP client and feed in fixtures.
The following example shows how to use the "beforeRequest"
hook to to add a
custom header and a timeout to requests and how to use the "requestError"
hook
to log errors:
import { Firehydrant } from "firehydrant";
import { HTTPClient } from "firehydrant/lib/http";
const httpClient = new HTTPClient({
// fetcher takes a function that has the same signature as native `fetch`.
fetcher: (request) => {
return fetch(request);
}
});
httpClient.addHook("beforeRequest", (request) => {
const nextRequest = new Request(request, {
signal: request.signal || AbortSignal.timeout(5000)
});
nextRequest.headers.set("x-custom-header", "custom value");
return nextRequest;
});
httpClient.addHook("requestError", (error, request) => {
console.group("Request Error");
console.log("Reason:", `${error}`);
console.log("Endpoint:", `${request.method} ${request.url}`);
console.groupEnd();
});
const sdk = new Firehydrant({ httpClient });
You can setup your SDK to emit debug logs for SDK requests and responses.
You can pass a logger that matches console
's interface as an SDK option.
Warning
Beware that debug logging will reveal secrets, like API tokens in headers, in log messages printed to a console or files. It's recommended to use this feature only during local development and not in production.
import { Firehydrant } from "firehydrant";
const sdk = new Firehydrant({ debugLogger: console });
You can also enable a default debug logger by setting an environment variable FIREHYDRANT_DEBUG
to true.
This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally looking for the latest version.
While we value open-source contributions to this SDK, this library is generated programmatically. Any manual changes added to internal files will be overwritten on the next generation. We look forward to hearing your feedback. Feel free to open a PR or an issue with a proof of concept and we'll do our best to include it in a future release.