Aller au contenu
Référence API
Référence API

Créer un Batch

Soumettre un Batch de modération adossé à un File valide avec purpose=batch.

Soumettre un Batch de modération adossé à un File valide avec purpose=batch.

Point de terminaison

POST /v1/batches
URL de base
https://runapi.ai
Version de l'API
v1
Authentification
Authorization: Bearer YOUR_API_KEY
02

Requête

Corps JSON

Envoyez les valeurs uniquement à l'emplacement de requête indiqué.

application/json4 champs
completion_windowstring
Requis

Fenêtre de complétion pour cette capacité de Batch.

endpointstring
Requis

Point de terminaison de modération traité par cette capacité de lot.

input_file_idstring
Requis

ID de fichier RunAPI pour un fichier d'entrée de purpose=batch.

metadataobject
Optionnel

Métadonnées optionnelles de l'appelant retournées avec l'objet lot.

03

Réponse de succès

HTTP 200

POST /v1/batches

JSON
{
  "completion_window": "24h",
  "created_at": 1785196800,
  "endpoint": "/v1/moderations",
  "id": "batch_abc123",
  "input_file_id": "file_batch123",
  "metadata": {
    "customer_tag": "demo"
  },
  "object": "batch",
  "request_counts": {
    "completed": 0,
    "failed": 0,
    "total": 3
  },
  "status": "validating"
}
04

Réponse d'erreur (401)

HTTP 401
Schéma de réponse
JSON
{
  "additionalProperties": true,
  "properties": {
    "error": {
      "additionalProperties": true,
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": "string"
        },
        "param": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "message",
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}

Exemple de réponse

JSON
{
  "error": {
    "code": "authentication_error",
    "message": "Missing API key",
    "param": null,
    "type": "authentication_error"
  }
}
05

Réponse d'erreur (400)

HTTP 400
Schéma de réponse
JSON
{
  "additionalProperties": true,
  "properties": {
    "error": {
      "additionalProperties": true,
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": "string"
        },
        "param": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "message",
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}

Exemple de réponse

JSON
{
  "error": {
    "code": "invalid_request_error",
    "message": "Malformed request",
    "param": null,
    "type": "invalid_request_error"
  }
}
06

Réponse d'erreur (404)

HTTP 404
Schéma de réponse
JSON
{
  "additionalProperties": true,
  "properties": {
    "error": {
      "additionalProperties": true,
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": "string"
        },
        "param": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "message",
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}

Exemple de réponse

JSON
{
  "error": {
    "code": "not_found",
    "message": "File not found",
    "param": null,
    "type": "invalid_request_error"
  }
}
07

Réponse d'erreur (409)

HTTP 409
Schéma de réponse
JSON
{
  "additionalProperties": true,
  "properties": {
    "error": {
      "additionalProperties": true,
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": "string"
        },
        "param": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "message",
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}

Exemple de réponse

JSON
{
  "error": {
    "code": "upload_state_conflict",
    "message": "Upload state conflict",
    "param": null,
    "type": "invalid_request_error"
  }
}
08

Réponse d'erreur (402)

HTTP 402
Schéma de réponse
JSON
{
  "additionalProperties": true,
  "properties": {
    "error": {
      "additionalProperties": true,
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": "string"
        },
        "param": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "message",
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}

Exemple de réponse

JSON
{
  "error": {
    "code": "payment_required",
    "message": "Insufficient balance",
    "param": null,
    "type": "insufficient_balance"
  }
}
09

Réponse d'erreur (422)

HTTP 422
Schéma de réponse
JSON
{
  "additionalProperties": true,
  "properties": {
    "error": {
      "additionalProperties": true,
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": "string"
        },
        "param": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "message",
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}

Exemple de réponse

JSON
{
  "error": {
    "code": "invalid_upload",
    "message": "Upload request rejected",
    "param": null,
    "type": "invalid_request_error"
  }
}
10

Réponse d'erreur (502)

HTTP 502
Schéma de réponse
JSON
{
  "additionalProperties": true,
  "properties": {
    "error": {
      "additionalProperties": true,
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "type": "string"
        },
        "param": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "message",
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}

Exemple de réponse

JSON
{
  "error": {
    "code": "storage_write_failed",
    "message": "File storage failed",
    "param": null,
    "type": "server_error"
  }
}
11

Exemple cURL

CURL
curl -X POST https://runapi.ai/v1/batches \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"input_file_id":"file_batch123","endpoint":"/v1/moderations","completion_window":"24h","metadata":{"customer_tag":"demo"}}'