Fieldguide webhooks API

Endpoints used to interact with Fieldguide Webhooks

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/fieldguide-webhooks-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 email required.

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

OpenAPI Specification

fieldguide-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Fieldguide api webhooks API
  description: An API for interacting with the [Fieldguide](https://fieldguide.io) platform
  version: v1
  contact: {}
servers:
- url: https://api.fieldguide.io
  description: Fieldguide API
security:
- bearer: []
tags:
- name: webhooks
  description: Endpoints used to interact with Fieldguide Webhooks
paths:
  /v1/webhooks:
    get:
      operationId: list_webhooks_v1
      parameters:
      - name: page
        required: false
        in: query
        schema:
          type: number
          default: 1
          nullable: true
      - name: per_page
        required: false
        in: query
        schema:
          type: number
          default: 50
          nullable: true
          minimum: 1
          maximum: 200
      - name: sort_order
        required: false
        in: query
        description: Sort order for paginated results. Use `desc` to reverse the default ascending order.
        schema:
          type: string
          default: asc
          enum:
          - asc
          - desc
      responses:
        '200':
          description: The Webhooks accessible by the user
          content:
            application/json:
              schema:
                allOf:
                - properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/WebhookRead'
                - properties:
                    _links:
                      type: object
                      required:
                      - self
                      - first
                      - last
                      properties:
                        self:
                          type: object
                          description: The URL for the current page being fetched
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=2&per_page=50
                        first:
                          type: object
                          description: The URL for the first page of the set
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=1&per_page=50
                        last:
                          type: object
                          description: The URL for the last page of the set
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=10&per_page=50
                        previous:
                          type: object
                          description: The URL for the previous page in the set, if there is one
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=1&per_page=50
                        next:
                          type: object
                          description: The URL for the next page in the set, if there is one
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=3&per_page=50
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `webhooks:read`)
        '429':
          description: Too many requests
      summary: List available Fieldguide Webhook subscriptions for the current User
      tags:
      - webhooks
      x-required-scopes:
      - webhooks:read
    post:
      callbacks:
        onObjectAction:
          '{$request.body#/url}':
            post:
              parameters:
              - name: X-FG-Signature
                in: header
                description: HMAC-SHA256 hex-encoded signature hash of the request body with the webhook {$response.body#/secret}. Your server implementation should hash + encode the request body and compare the resulting signature with this header value to verify the webhook was sent from Fieldguide. See [webhooks.fyi](https://webhooks.fyi/security/hmac) for additional context.
                required: true
                schema:
                  type: string
              - name: X-FG-Attempt
                in: header
                description: Denotes if this is the original notification (`1`) or a retry (`2+`)
                required: true
                schema:
                  type: number
              requestBody:
                required: true
                description: Webhook event payload
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/WebhookPayload'
              security: []
              responses:
                '200':
                  description: Your server implementation should return a 2xx status code if the webhook was received successfully
      description: 'Note: Webhooks on a development domain (mockable.io, ngrok-free.app, on.aws, onrender.com, run.app, webhook.site) are automatically deleted when delivery returns a 404, 410, or 501 response. They are also deleted after retries are exhausted on a persistent connection error (timeout, DNS failure, connection refused, or a recognized persistent TLS certificate failure).'
      operationId: create_webhook_v1
      parameters: []
      requestBody:
        required: true
        description: Input for Webhook to be created
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookCreate'
      responses:
        '201':
          description: The newly created Webhook
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/WebhookReadWithSecret'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `webhooks:write`)
        '429':
          description: Too many requests
      summary: Create a new Webhook
      tags:
      - webhooks
      x-required-scopes:
      - webhooks:write
  /v1/webhooks/{uuid}:
    delete:
      operationId: delete_webhook_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the Webhook to delete
        schema:
          format: uuid
          type: string
      responses:
        '204':
          description: No content. The Webhook was deleted successfully.
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `webhooks:write`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Delete the specified Webhook
      tags:
      - webhooks
      x-required-scopes:
      - webhooks:write
    patch:
      operationId: update_webhook_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the Webhook to update
        schema:
          format: uuid
          type: string
      requestBody:
        required: true
        description: Input for Webhook to be updated
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookUpdate'
      responses:
        '200':
          description: The updated Webhook
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/WebhookRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `webhooks:write`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Update the specified Webhook
      tags:
      - webhooks
      x-required-scopes:
      - webhooks:write
components:
  schemas:
    WebhookResource:
      type: string
      enum:
      - comments
      - companies
      - engagements
      - requests
      - users
      description: One or more resources to fire webhooks for. Available resources include comments, companies, engagements, requests, users. If `null`, webhooks will fire for all resources.
    WebhookObjectType:
      type: string
      enum:
      - comments
      - companies
      - engagements
      - requests
      - users
    WebhookReadWithSecret:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          example: d952a7a8-3f88-46d0-b4de-ec690d97105c
          description: The unique ID for the webhook, referenced as `webhook_uuid` in webhook requests
        description:
          type: string
          description: A human-readable description of the webhook's use
          example: Firm internal systems
        scopes:
          type: array
          nullable: true
          description: One or more resources to fire webhooks for. Available resources include comments, companies, engagements, requests, users. If `null`, webhooks will fire for all resources.
          example:
          - requests
          - users
          items:
            $ref: '#/components/schemas/WebhookResource'
        url:
          type: string
          format: uri
          example: https://company-xyz.com/my-webhook-endpoint
        created_at:
          format: date-time
          type: string
          example: '2023-01-01T12:30:00.000Z'
        secret:
          type: string
          example: trN7inAfsWlDy8VeqVB3
          description: A 20-character secret used for HMAC signing
      required:
      - uuid
      - description
      - scopes
      - url
      - created_at
      - secret
    WebhookAction:
      type: string
      enum:
      - created
      - updated
      - deleted
    WebhookPayload:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          description: The unique ID for the event
          example: c7e4afd8-1b56-4621-83ad-86ec735fc23d
        timestamp:
          format: date-time
          type: string
          description: When the event occurred
          example: '2023-01-01T12:30:00.000Z'
        action:
          allOf:
          - $ref: '#/components/schemas/WebhookAction'
        object_type:
          allOf:
          - $ref: '#/components/schemas/WebhookObjectType'
        object_uuid:
          type: string
          format: uuid
          description: The UUID of the specific object for the event
          example: 80d6783f-575d-4433-9dd8-25b81b2bad85
        metadata:
          type: array
          description: Array of metadata key-value pairs
          example:
          - key: company_uuid
            value: d952a7a8-3f88-46d0-b4de-ec690d97105c
          - key: engagement_uuid
            value: 066a9ebd-07cf-458e-b506-dd66fab9cbcc
          - key: webhook_uuid
            value: 5c8d4284-84f0-427c-be10-e350f7093a48
          - key: updated_property
            value: status
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
      required:
      - uuid
      - timestamp
      - action
      - object_type
      - object_uuid
      - metadata
    WebhookRead:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          example: d952a7a8-3f88-46d0-b4de-ec690d97105c
          description: The unique ID for the webhook, referenced as `webhook_uuid` in webhook requests
        description:
          type: string
          description: A human-readable description of the webhook's use
          example: Firm internal systems
        scopes:
          type: array
          nullable: true
          description: One or more resources to fire webhooks for. Available resources include comments, companies, engagements, requests, users. If `null`, webhooks will fire for all resources.
          example:
          - requests
          - users
          items:
            $ref: '#/components/schemas/WebhookResource'
        url:
          type: string
          format: uri
          example: https://company-xyz.com/my-webhook-endpoint
        created_at:
          format: date-time
          type: string
          example: '2023-01-01T12:30:00.000Z'
      required:
      - uuid
      - description
      - scopes
      - url
      - created_at
    WebhookUpdate:
      type: object
      properties:
        description:
          type: string
          example: Company XYZ Integration
        scopes:
          type: array
          nullable: true
          description: One or more resources to fire webhooks for. Available resources include comments, companies, engagements, requests, users. If `null`, webhooks will fire for all resources.
          example:
          - requests
          - users
          items:
            $ref: '#/components/schemas/WebhookResource'
    WebhookCreate:
      type: object
      properties:
        description:
          type: string
          example: Company XYZ Integration
        scopes:
          type: array
          nullable: true
          description: One or more resources to fire webhooks for. Available resources include comments, companies, engagements, requests, users. If `null`, webhooks will fire for all resources.
          example:
          - requests
          - users
          items:
            $ref: '#/components/schemas/WebhookResource'
        url:
          type: string
          format: uri
          example: https://company-xyz.com/my-webhook-endpoint
      required:
      - description
      - url
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
externalDocs:
  description: Fieldguide API Documentation
  url: https://fieldguide.io/developers