{
  "opencollection": "1.0.0",
  "info": {
    "name": "Primitive Account Endpoints API",
    "version": "1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "Endpoints",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List webhook endpoints",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.primitive.dev/v1/endpoints",
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns all active (non-deleted) webhook endpoints."
        },
        {
          "info": {
            "name": "Create a webhook endpoint",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.primitive.dev/v1/endpoints",
            "headers": [
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a new webhook endpoint. If a deactivated endpoint\nwith the same URL and domain exists, it is reactivated\ninstead. Subject to plan limits on the number of active\nendpoints.\n\n**Signing is account-scoped, not per-endpoint.** This call\ndoes not return any signing material; every endpoint on the\naccount uses the same webhook secret, fetched via\n`GET /account/webhook-secret`. See the API-level \"Webhook\nsigning\" section for the full wire format (header name,\nsigned string, hash algo, secret for"
        },
        {
          "info": {
            "name": "Update a webhook endpoint",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.primitive.dev/v1/endpoints/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Resource UUID"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates an active webhook endpoint. If the URL is changed, the old\nendpoint is deactivated and a new one is created (or an existing\ndeactivated endpoint with the new URL is reactivated).\n"
        },
        {
          "info": {
            "name": "Delete a webhook endpoint",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.primitive.dev/v1/endpoints/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Resource UUID"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Delete a webhook endpoint. Inbound messages are no longer delivered to it."
        },
        {
          "info": {
            "name": "Send a test webhook",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.primitive.dev/v1/endpoints/:id/test",
            "headers": [
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Resource UUID"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Sends a sample `email.received` event to the endpoint. The request\nincludes SSRF protection (private IP rejection and DNS pinning).\nRate limited to 4 per minute and 30 per hour (non-exempt).\nSuccessful deliveries and verified-domain endpoints are exempt\nfrom the rate limit.\n"
        }
      ]
    }
  ],
  "bundled": true
}