{
    "name": "HTTP Connector",
    "connector_type": "http",
    "base_url": "",
    "auth_type": "",
    "auth_url": "",
    "config": {
        "client_id": "",
        "client_secret": "",
        "redirect_url": "",
        "scope": "",
        "token_secret": "",
        "send_credentials_via": "5",
        "send_token_via": "8",
        "auth_endpoint": "",
        "access_token_url": "",
        "revoke_token_url": "",
        "resource_url": "",
        "valid_domains": "",
        "headers": [
            {
                "key": "",
                "value": ""
            }
        ],
        "requestBody": [
            {
                "key": "",
                "value": ""
            }
        ],
        "consumer_key": "",
        "consumer_secret": "",
        "access_token": "",
        "signature_method": "",
        "username": "",
        "password": "",
        "realm": "",
        "include_body_hash": "",
        "add_empty_params": "",
        "encode_params": ""
    },
    "throttle_max_requests": 20,
    "throttle_per_seconds": 60,
    "media_type": "14",
    "grant_type": "1",
    "auth_scope": "",
    "application": "19",
    "pagination_options": {
        "enabled": true,
        "modes": [
            {
                "type": "generic",
                "name": "Offset + Limit",
                "description": "Standard REST API pagination using offset and limit parameters",
                "fields": [
                    {
                        "key": "limitParam",
                        "label": "Limit Parameter Name",
                        "type": "text",
                        "default": "limit",
                        "required": false,
                        "description": "Name of the limit parameter"
                    },
                    {
                        "key": "offsetParam",
                        "label": "Offset Parameter Name",
                        "type": "text",
                        "default": "offset",
                        "required": false,
                        "description": "Name of the offset parameter"
                    },
                    {
                        "key": "countField",
                        "label": "Count Field Path",
                        "type": "text",
                        "placeholder": "data.count",
                        "required": false,
                        "description": "Path to current page count in response (dot notation)"
                    },
                    {
                        "key": "offsetField",
                        "label": "Offset Field Path",
                        "type": "text",
                        "placeholder": "data.offset",
                        "required": false,
                        "description": "Path to current offset in response (dot notation)"
                    },
                    {
                        "key": "totalField",
                        "label": "Total Field Path",
                        "type": "text",
                        "placeholder": "data.total",
                        "required": false,
                        "description": "Path to total count in response (optional)"
                    }
                ]
            },
            {
                "type": "next_page_token",
                "name": "Next Page Token",
                "description": "Pagination using next page tokens (common in Shopify, AWS, etc.)",
                "fields": [
                    {
                        "key": "nextPageTokenPath",
                        "label": "Next Page Token Path",
                        "type": "text",
                        "placeholder": "pagination.next_page_token",
                        "required": true,
                        "description": "Path to next page token in response (dot notation)"
                    },
                    {
                        "key": "tokenParam",
                        "label": "Token Parameter Name",
                        "type": "text",
                        "default": "page_info",
                        "required": true,
                        "description": "Name of the token parameter in the URL"
                    }
                ]
            },
            {
                "type": "graphql",
                "name": "GraphQL Cursor",
                "description": "GraphQL cursor-based pagination (Shopify, GitHub, etc.)",
                "fields": [
                    {
                        "key": "hasNextPagePath",
                        "label": "Has Next Page Path",
                        "type": "text",
                        "placeholder": "data.orders.pageInfo.hasNextPage",
                        "required": true,
                        "description": "Path to hasNextPage boolean in response"
                    },
                    {
                        "key": "nextPageCursorPath",
                        "label": "Next Page Cursor Path",
                        "type": "text",
                        "placeholder": "data.orders.pageInfo.endCursor",
                        "required": true,
                        "description": "Path to next cursor value in response"
                    }
                ]
            }
        ]
    }
}
