SerenAI

Pay Per Call Agentic Commerce

PaginatedResponse_Vec_PublisherResponse

Response wrapper with offset-based pagination Use this for list endpoints that use limit/offset pagination.

Properties

PropertyTypeRequiredDescription
data Array<object> Yes
pagination OffsetPaginationMeta Yes Pagination metadata
View JSON Schema
{
  "type": "object",
  "description": "Response wrapper with offset-based pagination\n\nUse this for list endpoints that use limit/offset pagination.",
  "required": [
    "data",
    "pagination"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "description": "Publisher response (excludes sensitive fields)",
        "required": [
          "id",
          "name",
          "slug",
          "categories",
          "capabilities",
          "use_cases",
          "publisher_type",
          "wallet_address",
          "wallet_network_id",
          "publisher_category",
          "billing_model",
          "gateway_fee_percent",
          "allowed_passthrough_headers",
          "request_content_type",
          "upstream_headers",
          "ownership_tracking_enabled",
          "undocumented_endpoint_policy",
          "is_active",
          "is_verified",
          "total_queries",
          "unique_agents_served",
          "created_at",
          "updated_at",
          "requires_user_oauth"
        ],
        "properties": {
          "a2a_agent_card": {
            "description": "Cached A2A agent card"
          },
          "a2a_endpoint_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "A2A endpoint base URL (for compute_type = agent)"
          },
          "a2a_health_status": {
            "type": [
              "string",
              "null"
            ],
            "description": "A2A health status: unknown, healthy, unhealthy, unreachable"
          },
          "accepted_assets": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/AssetInfo"
            },
            "description": "Accepted assets for payment"
          },
          "allowed_passthrough_headers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "api_key_header": {
            "type": [
              "string",
              "null"
            ],
            "description": "Header name to inject upstream_api_key into (e.g., \"Authorization\", \"X-API-Key\")"
          },
          "api_key_query_param": {
            "type": [
              "string",
              "null"
            ],
            "description": "Query parameter name to inject upstream_api_key into (e.g., \"api_key\", \"apiKey\")"
          },
          "api_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "External API URL (for integration_type = api)"
          },
          "billing_model": {
            "type": "string"
          },
          "branch_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "SerenDB branch ID (for database_type = serendb)"
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Publisher-declared capabilities for task matching"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "compute_type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ComputeType",
                "description": "Compute type when publisher_category = compute"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "database_config": {
            "description": "Provider config (sensitive fields redacted)"
          },
          "database_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Database name within the SerenDB project"
          },
          "database_type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/DatabaseType",
                "description": "Database type when publisher_category = database"
              }
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ],
            "description": "Publisher contact email for notifications and support"
          },
          "endpoints": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/EndpointDefinition"
            },
            "description": "Structured endpoint definitions for LLM discoverability and access control"
          },
          "gateway_fee_percent": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "integration_type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/IntegrationType",
                "description": "Integration type when publisher_category = integration"
              }
            ]
          },
          "is_active": {
            "type": "boolean"
          },
          "is_verified": {
            "type": "boolean"
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "mcp_capabilities": {
            "description": "Cached MCP capabilities (tools, resources, prompts)"
          },
          "mcp_endpoint": {
            "type": [
              "string",
              "null"
            ],
            "description": "MCP server endpoint URL (for integration_type = mcp)"
          },
          "name": {
            "type": "string"
          },
          "oauth_provider_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "OAuth provider ID for BYOC (Bring Your Own Credentials) authentication"
          },
          "ownership_tracking_enabled": {
            "type": "boolean"
          },
          "pricing": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/PricingConfigResponse"
            },
            "description": "Pricing config per asset (if included)"
          },
          "project_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "SerenDB project ID (for database_type = serendb)"
          },
          "protected_operations": {},
          "publisher_category": {
            "$ref": "#/components/schemas/PublisherCategory",
            "description": "Publisher category: database, integration, or compute"
          },
          "publisher_type": {
            "$ref": "#/components/schemas/PublisherType"
          },
          "request_content_type": {
            "type": "string",
            "description": "Content-Type for upstream API requests"
          },
          "requires_user_oauth": {
            "type": "boolean",
            "description": "If true, users must connect via OAuth before using this publisher"
          },
          "resource_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "resource_id_response_path": {
            "type": [
              "string",
              "null"
            ]
          },
          "resource_id_url_pattern": {
            "type": [
              "string",
              "null"
            ]
          },
          "resource_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "routing": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoRoutingConfig",
                "description": "Geographic routing configuration (if publisher has geo-restricted upstream API)"
              }
            ]
          },
          "slug": {
            "type": "string"
          },
          "token_cache_ttl_seconds": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "description": "TTL for cached exchanged tokens in seconds"
          },
          "token_exchange_method": {
            "type": [
              "string",
              "null"
            ],
            "description": "HTTP method for exchange endpoint (POST or GET)"
          },
          "token_exchange_mode": {
            "type": [
              "string",
              "null"
            ],
            "description": "How to send Seren token: header, body, or query"
          },
          "token_exchange_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL to call for exchanging Seren API keys for publisher auth tokens"
          },
          "token_response_field": {
            "type": [
              "string",
              "null"
            ],
            "description": "JSON field in exchange response containing the token"
          },
          "total_queries": {
            "type": "integer",
            "format": "int64"
          },
          "undocumented_endpoint_policy": {
            "$ref": "#/components/schemas/UndocumentedEndpointPolicy",
            "description": "Policy for handling requests to paths not in the endpoints catalog"
          },
          "unique_agents_served": {
            "type": "integer",
            "format": "int64"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "upstream_cost_response_path": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dot-separated path to upstream cost in response body (for pay_per_use and prepaid passthrough billing).\nExample: \"usage.cost\""
          },
          "upstream_headers": {
            "description": "Non-sensitive headers to send to upstream API"
          },
          "usage_examples": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/UsageExample"
            },
            "description": "Usage examples showing how to call the publisher's API"
          },
          "use_cases": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Human-readable use case descriptions"
          },
          "verification_expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "When verification expires (NULL = no expiry)"
          },
          "wallet_address": {
            "$ref": "#/components/schemas/WalletAddress"
          },
          "wallet_network_id": {
            "type": "string",
            "description": "Network for the wallet address"
          }
        }
      }
    },
    "pagination": {
      "$ref": "#/components/schemas/OffsetPaginationMeta",
      "description": "Pagination metadata"
    }
  }
}