Skip to content

ig-messaging

← All modules

5 endpoints.

GET /api/v1/webhooks/instagram

Verify Webhook

Meta's subscription handshake: echo hub.challenge if the token matches.

200 — Successful Response

json
{}

POST /api/v1/webhooks/instagram

Receive Webhook

Receive IG message events and fire the throttled auto-reply.

Always returns 200 quickly — a non-200 makes Meta retry the delivery, which we never want for a best-effort auto-reply. Per-message failures are logged.

200 — Successful Response

json
{}

GET /api/v1/ig-autoreply/configs

List Configs

List the tenant's IG auto-reply configs.

200 — Successful Response

json
{}

PUT /api/v1/ig-autoreply/configs/{page_id}

Upsert Config

Create/update the auto-reply for a Page's Instagram account, capture the Page token, and subscribe the Page's messages webhook field.

Parameters

NameInRequiredTypeDescription
page_idpathyesstring

Request body

json
{
  "properties": {
    "enabled": {
      "type": "boolean",
      "title": "Enabled",
      "default": true
    },
    "message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Message"
    }
  },
  "type": "object",
  "title": "ConfigBody"
}

200 — Successful Response

json
{}

422 — Validation Error

json
{
  "properties": {
    "detail": {
      "items": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "type": "array",
      "title": "Detail"
    }
  },
  "type": "object",
  "title": "HTTPValidationError"
}

POST /api/v1/ig-autoreply/configs/{page_id}/test

Send Test

Send the configured auto-reply to a specific IGSID (a user who has DM'd the account) to confirm end-to-end delivery.

Parameters

NameInRequiredTypeDescription
page_idpathyesstring
recipient_idqueryyesstring

200 — Successful Response

json
{}

422 — Validation Error

json
{
  "properties": {
    "detail": {
      "items": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "type": "array",
      "title": "Detail"
    }
  },
  "type": "object",
  "title": "HTTPValidationError"
}

Lubb ERP Documentation