# Enrich a list (/docs/api/async/list_create)

Run an endpoint or capability over up to 10,000 rows in the background.

`POST /v1/lists`

```json
{
  "operationId": "list_create",
  "summary": "Enrich a list",
  "description": "Run an endpoint or capability over up to 10,000 rows in the background.",
  "tags": [
    "lists"
  ],
  "security": [
    {
      "bearer": []
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "target": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "endpoint_id": {
                      "type": "string",
                      "minLength": 3
                    }
                  },
                  "required": [
                    "endpoint_id"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "capability": {
                      "type": "string",
                      "pattern": "^[a-z]+(\\.[a-z0-9_]+)+$"
                    },
                    "provider": {
                      "type": "object",
                      "properties": {
                        "order": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "maxItems": 20
                        },
                        "only": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "maxItems": 20
                        },
                        "ignore": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "maxItems": 20
                        },
                        "allow_fallbacks": {
                          "type": "boolean",
                          "default": true
                        },
                        "sort": {
                          "type": "string",
                          "enum": [
                            "price",
                            "reliability",
                            "latency",
                            "throughput",
                            "quality"
                          ]
                        },
                        "max_cost_micro": {
                          "type": "integer",
                          "minimum": 0,
                          "description": "Skip endpoints whose quote exceeds this"
                        },
                        "max_price_micro": {
                          "type": "integer",
                          "minimum": 0,
                          "description": "OpenRouter-style max_price: skip endpoints whose worst-case price is above this"
                        },
                        "preferred_max_latency_ms": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 120000,
                          "description": "Endpoints with a p50 above this are tried after the ones under it"
                        },
                        "data_policy": {
                          "type": "object",
                          "properties": {
                            "storage": {
                              "type": "string",
                              "enum": [
                                "any",
                                "reviewed",
                                "storable"
                              ],
                              "default": "any"
                            },
                            "zdr": {
                              "type": "boolean",
                              "default": false
                            }
                          }
                        },
                        "require_verified": {
                          "type": "boolean",
                          "description": "Only vendors Relaygrid has verified"
                        }
                      }
                    }
                  },
                  "required": [
                    "capability"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "waterfall_id": {
                      "type": "string",
                      "pattern": "^wf_[a-z0-9]{8,40}$"
                    },
                    "version": {
                      "type": "string",
                      "maxLength": 20
                    }
                  },
                  "required": [
                    "waterfall_id"
                  ]
                }
              ]
            },
            "rows": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": {}
              },
              "minItems": 1,
              "maxItems": 10000
            },
            "max_cost_micro_per_row": {
              "type": "integer",
              "minimum": 0
            },
            "webhook_url": {
              "type": "string",
              "format": "uri"
            },
            "meta": {}
          },
          "required": [
            "target",
            "rows"
          ]
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "object": {
                "type": "string",
                "enum": [
                  "list"
                ]
              },
              "id": {
                "type": "string"
              },
              "status": {
                "type": "string",
                "enum": [
                  "running",
                  "completed",
                  "failed"
                ]
              },
              "total": {
                "type": "integer",
                "minimum": 0
              },
              "done": {
                "type": "integer",
                "minimum": 0
              },
              "hits": {
                "type": "integer",
                "minimum": 0
              },
              "failed": {
                "type": "integer",
                "minimum": 0
              },
              "cost_micro": {
                "type": "integer",
                "minimum": 0
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "object",
              "id",
              "status",
              "total",
              "done",
              "hits",
              "failed",
              "cost_micro",
              "created_at"
            ]
          }
        }
      }
    },
    "default": {
      "description": "Error",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "enum": [
                      "invalid_request",
                      "unauthorized",
                      "insufficient_balance",
                      "max_cost_exceeded",
                      "scope_denied",
                      "budget_blocked",
                      "not_found",
                      "idempotency_mismatch",
                      "invalid_meta",
                      "rate_limited",
                      "upstream_error",
                      "response_buffer_limit",
                      "provider_capacity_unavailable",
                      "grid_saturated",
                      "upstream_timeout",
                      "conflict",
                      "internal_error",
                      "account_frozen",
                      "strict_filters",
                      "plan_limit_reached",
                      "validation_failed",
                      "deadline_exceeded",
                      "cancelled"
                    ]
                  },
                  "message": {
                    "type": "string"
                  },
                  "request_id": {
                    "type": "string"
                  },
                  "call_id": {
                    "type": "string"
                  },
                  "retry_after_ms": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "code",
                  "message"
                ]
              }
            },
            "required": [
              "error"
            ]
          }
        }
      }
    }
  }
}
```
