Perigon Contact Points API

Manage contact points used to deliver monitor notifications. Contact points define where and how monitor events are delivered (e.g. webhooks). Only WEBHOOK contact points can be created and managed via the API.

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/api/contactPoints List notification contact points · List contact points #
Ask an LLM
“Which contact points does my organization have set up for alerts?”
“Can I see only my active webhook contact points?”
Tell an agent
List my contact points sorted by {sortBy} in {sortOrder} order.
Show contact points of type {type} with status {status}, sorted by {sortBy} {sortOrder}.
POST /v1/api/contactPoints Create a webhook contact point · Create contact point #
Ask an LLM
“How do I register a webhook so Perigon can send me monitor notifications?”
“What kinds of contact points can be created through the API?”
Tell an agent
Create a {type} contact point named {name} pointing at {webhook}.
Add a new contact point called {name} of type {type}.
GET /v1/api/contactPoints/{uuid} Get a contact point's details · Get contact point #
Ask an LLM
“What webhook URL is configured on a particular contact point?”
“Can I look up a single contact point by its UUID?”
Tell an agent
Show the details of contact point {uuid}.
Fetch contact point {uuid} and tell me its status.
DELETE /v1/api/contactPoints/{uuid} Delete a contact point · Delete contact point #
Ask an LLM
“What happens to a contact point that already has notification history when I delete it?”
“How do I remove a contact point I no longer need?”
Tell an agent destructive · confirm first
Delete contact point {uuid}.
Remove the contact point {uuid} from my organization.
PATCH /v1/api/contactPoints/{uuid} Update a contact point · Update contact point #
Ask an LLM
“Can I change the webhook URL on an existing contact point?”
“Is it possible to disable a contact point without deleting it?”
Tell an agent
Rename contact point {uuid} to {name}.
Change the webhook on contact point {uuid} to {webhook}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/perigon:perigon-contact-points-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

perigon-contact-points-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Perigon Contact Points API
  description: The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
  contact:
    name: Perigon Support
    url: https://docs.perigon.io/
    email: data@perigon.io
  version: 1.0.0
servers:
- url: https://api.perigon.io
  description: Generated server url
security:
- apiKeyAuth: []
tags:
- name: Contact Points
  description: Manage contact points used to deliver monitor notifications. Contact points define where and how monitor events are delivered (e.g. webhooks). Only WEBHOOK contact points can be created and managed via the API.
paths:
  /v1/api/contactPoints:
    get:
      tags:
      - Contact Points
      summary: List contact points
      description: List contact points owned by the organization associated with the API key. Supports filtering by status and type. FASTN contact points are excluded from results.
      operationId: list-contact-points
      parameters:
      - name: status
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - ACTIVE
            - STOPPED
            - FAILING
            - ARCHIVED
      - name: type
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - EMAIL
            - FASTN
            - WEBHOOK
      - name: sortBy
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/ContactPointSortBy'
      - name: page
        in: query
        description: Zero-based page number to retrieve. Defaults to 0.
        required: false
        schema:
          minimum: 0
          type: integer
          description: Zero-based page number to retrieve. Defaults to 0.
          format: int32
          default: 0
      - name: size
        in: query
        description: Number of results per page. Must be between 1 and 100; defaults to 10.
        required: false
        schema:
          maximum: 100
          minimum: 1
          type: integer
          description: Number of results per page. Must be between 1 and 100; defaults to 10.
          format: int32
          default: 10
      - name: sortOrder
        in: query
        description: Required direction used to sort results. Accepts asc or desc.
        required: true
        schema:
          type: string
          description: Required direction used to sort results. Accepts asc or desc.
          enum:
          - asc
          - desc
      - name: nulls
        in: query
        description: Placement of null values in sorted results. Accepts first or last.
        required: false
        schema:
          type: string
          description: Placement of null values in sorted results. Accepts first or last.
          enum:
          - first
          - last
      responses:
        '401':
          description: 401 - Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 401
                message: Invalid API key.
                timestamp: 1681338367402
        '500':
          description: 500 - Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 500
                message: Internal error. Please contact the support to resolve the problem. We apologize for any inconvenience :)
                timestamp: 1681338367402
        '400':
          description: 400 - Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 400
                message: Errors during parameter validation.
                timestamp: 1681338367402
        '403':
          description: 403 - Request Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 403
                message: The number of allowed requests is exceeded.
                timestamp: 1681338367402
        '200':
          description: 200 - Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactPointListResult'
        '429':
          description: 429 - Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 429
                message: Exceeded request rate limit for your account.
                timestamp: 1681338367402
      security:
      - apiKeyAuth: []
    post:
      tags:
      - Contact Points
      summary: Create contact point
      description: Create a new contact point under the organization associated with the API key. Only WEBHOOK contact points can be created via the API.
      operationId: create-contact-point
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactPointRequestBody'
        required: true
      responses:
        '401':
          description: 401 - Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 401
                message: Invalid API key.
                timestamp: 1681338367402
        '500':
          description: 500 - Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 500
                message: Internal error. Please contact the support to resolve the problem. We apologize for any inconvenience :)
                timestamp: 1681338367402
        '400':
          description: 400 - Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 400
                message: Errors during parameter validation.
                timestamp: 1681338367402
        '200':
          description: 200 - Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactPointResult'
        '403':
          description: 403 - Request Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 403
                message: The number of allowed requests is exceeded.
                timestamp: 1681338367402
        '429':
          description: 429 - Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 429
                message: Exceeded request rate limit for your account.
                timestamp: 1681338367402
      security:
      - apiKeyAuth: []
  /v1/api/contactPoints/{uuid}:
    get:
      tags:
      - Contact Points
      summary: Get contact point
      description: Retrieve a contact point by UUID. Only returns contact points owned by the organization associated with the API key. FASTN contact points are not accessible via this endpoint.
      operationId: get-contact-point
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '401':
          description: 401 - Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 401
                message: Invalid API key.
                timestamp: 1681338367402
        '500':
          description: 500 - Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 500
                message: Internal error. Please contact the support to resolve the problem. We apologize for any inconvenience :)
                timestamp: 1681338367402
        '400':
          description: 400 - Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 400
                message: Errors during parameter validation.
                timestamp: 1681338367402
        '200':
          description: 200 - Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactPointResult'
        '403':
          description: 403 - Request Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 403
                message: The number of allowed requests is exceeded.
                timestamp: 1681338367402
        '429':
          description: 429 - Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 429
                message: Exceeded request rate limit for your account.
                timestamp: 1681338367402
      security:
      - apiKeyAuth: []
    delete:
      tags:
      - Contact Points
      summary: Delete contact point
      description: Delete a contact point owned by the organization associated with the API key. Contact points with historical notifications are archived rather than hard-deleted.
      operationId: delete-contact-point
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '401':
          description: 401 - Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 401
                message: Invalid API key.
                timestamp: 1681338367402
        '500':
          description: 500 - Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 500
                message: Internal error. Please contact the support to resolve the problem. We apologize for any inconvenience :)
                timestamp: 1681338367402
        '400':
          description: 400 - Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 400
                message: Errors during parameter validation.
                timestamp: 1681338367402
        '200':
          description: 200 - Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactPointResult'
        '403':
          description: 403 - Request Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 403
                message: The number of allowed requests is exceeded.
                timestamp: 1681338367402
        '429':
          description: 429 - Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 429
                message: Exceeded request rate limit for your account.
                timestamp: 1681338367402
      security:
      - apiKeyAuth: []
    patch:
      tags:
      - Contact Points
      summary: Update contact point
      description: Partially update a contact point owned by the organization associated with the API key. Only provided fields will be updated.
      operationId: update-contact-point
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactPointUpdateBody'
        required: true
      responses:
        '401':
          description: 401 - Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 401
                message: Invalid API key.
                timestamp: 1681338367402
        '500':
          description: 500 - Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 500
                message: Internal error. Please contact the support to resolve the problem. We apologize for any inconvenience :)
                timestamp: 1681338367402
        '400':
          description: 400 - Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 400
                message: Errors during parameter validation.
                timestamp: 1681338367402
        '200':
          description: 200 - Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactPointResult'
        '403':
          description: 403 - Request Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 403
                message: The number of allowed requests is exceeded.
                timestamp: 1681338367402
        '429':
          description: 429 - Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 429
                message: Exceeded request rate limit for your account.
                timestamp: 1681338367402
      security:
      - apiKeyAuth: []
components:
  schemas:
    ContactPointApiDto:
      type: object
      properties:
        uuid:
          type:
          - string
          - 'null'
          description: Unique identifier for the contact point.
          format: uuid
        createdAt:
          type:
          - string
          - 'null'
          description: Date and time the contact point was created, in ISO 8601 format.
          format: date-time
        updatedAt:
          type:
          - string
          - 'null'
          description: Date and time the contact point was last updated, in ISO 8601 format.
          format: date-time
        type:
          type:
          - string
          - 'null'
          description: Delivery channel type. API-managed contact points use WEBHOOK.
          enum:
          - EMAIL
          - FASTN
          - WEBHOOK
        status:
          type:
          - string
          - 'null'
          description: Current lifecycle status of the contact point.
          enum:
          - ACTIVE
          - STOPPED
          - FAILING
          - ARCHIVED
        name:
          type:
          - string
          - 'null'
          description: Display name for the contact point.
        email:
          type:
          - string
          - 'null'
          description: Email address when the contact point type is email-based.
        webhookUrl:
          type:
          - string
          - 'null'
          description: HTTPS webhook URL that receives monitor notifications.
        webhookSecret:
          type:
          - string
          - 'null'
          description: Secret used to sign webhook deliveries.
        verifiedAt:
          type:
          - string
          - 'null'
          description: Date and time the contact point was verified, in ISO 8601 format.
          format: date-time
        verified:
          type:
          - boolean
          - 'null'
      description: Contact point used to deliver monitor notifications.
    ContactPointResult:
      required:
      - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ContactPointApiDto'
      description: Single contact point response.
      example:
        data:
          uuid: f47ac10b-58cc-4372-a567-0e02b2c3d479
          createdAt: '2025-07-15T11:20:00.000Z'
          updatedAt: '2025-07-15T11:25:00.000Z'
          type: WEBHOOK
          status: ACTIVE
          name: Ops webhook
          webhookUrl: https://hooks.example.com/perigon/monitors
          webhookSecret: whsec_example_secret
          isVerified: true
          verifiedAt: '2025-07-15T11:25:00.000Z'
    ErrorResponse:
      type: object
      properties:
        status:
          type:
          - integer
          - 'null'
          format: int32
        message:
          type:
          - string
          - 'null'
        timestamp:
          type:
          - integer
          - 'null'
          format: int64
    ContactPointUpdateBody:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        status:
          type:
          - string
          - 'null'
          enum:
          - ACTIVE
          - STOPPED
          - FAILING
          - ARCHIVED
        webhook:
          type:
          - string
          - 'null'
    ContactPointSortBy:
      type: string
      enum:
      - createdAt
      - updatedAt
    ContactPointListResult:
      required:
      - data
      - total
      type: object
      properties:
        total:
          type: integer
          description: Total number of matching contact points across all pages.
          format: int64
        data:
          type: array
          description: Contact points returned for the requested page.
          items:
            $ref: '#/components/schemas/ContactPointApiDto'
      description: Paginated list of contact points.
      example:
        total: 1
        data:
        - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d479
          createdAt: '2025-07-15T11:20:00.000Z'
          updatedAt: '2025-07-15T11:25:00.000Z'
          type: WEBHOOK
          status: ACTIVE
          name: Ops webhook
          webhookUrl: https://hooks.example.com/perigon/monitors
          webhookSecret: whsec_example_secret
          isVerified: true
          verifiedAt: '2025-07-15T11:25:00.000Z'
    ContactPointRequestBody:
      required:
      - name
      - type
      type: object
      properties:
        type:
          type: string
          enum:
          - EMAIL
          - FASTN
          - WEBHOOK
        name:
          type: string
        email:
          type:
          - string
          - 'null'
        webhook:
          type:
          - string
          - 'null'
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer