# Help with Custom GPT ↔ Weaviate Cloud Integration (HTTP 400 Error)

**URL:** https://forum.weaviate.io/t/help-with-custom-gpt-weaviate-cloud-integration-http-400-error/21958
**Category:** Support
**Tags:** integration
**Created:** [September 10, 2025, 12:39pm UTC](https://forum.weaviate.io/t/help-with-custom-gpt-weaviate-cloud-integration-http-400-error/21958 "2025-09-10T12:39:43Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Will78](https://avatars.discourse-cdn.com/v4/letter/w/c57346/32.png) [@Will78](https://forum.weaviate.io/u/Will78)
#### Post date: [September 10, 2025, 12:39pm UTC](https://forum.weaviate.io/t/help-with-custom-gpt-weaviate-cloud-integration-http-400-error/21958/1 "2025-09-10T12:39:43Z")

</div>

### Description

Hello everyone,  
I am currently working on connecting my custom GPT to Weaviate Cloud in order to retrieve contextual content. However, I consistently encounter an HTTP 400 Bad Request error when calling my weaviate collection.  
From what I understand, the issue seems related to the plugin request syntax. I have reviewed the available examples, but unfortunately, I am still unable to make it work.  
If anyone could kindly share a working syntax example (or point me to relevant documentation), it would be greatly appreciated.  
Thank you in advance for your support!

### Server Setup Information

- Weaviate Server Version:
- Deployment Method:
- Multi Node? Number of Running Nodes:
- Client Language and Version:
- Multitenancy?:

### Any additional Information

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [September 10, 2025, 3:38pm UTC](https://forum.weaviate.io/t/help-with-custom-gpt-weaviate-cloud-integration-http-400-error/21958/2 "2025-09-10T15:38:25Z")

</div>

hi @Will78 !!

Welcome to our community 🤗

You can do that by providing a generative provider at query time and point it’s baseurl elsewhere you can answer the request with your custom GPT/Generative model

For example:

```python
from weaviate import classes as wvc

collection = client.collections.create(
    "Test",
)
collection.data.insert({"title": "Something to test"})

collection.generate.bm25(
    query="Some Test",
    generative_provider=wvc.generate.GenerativeConfig.openai(
        base_url="https://webhook.site/432cd01d-f8e1-418f-81d0-c172d19bc646"
    ),
    grouped_task="Translate to Portuguese",
)

```

and this is the payload you will get sent to [https://webhook.site/432cd01d-f8e1-418f-81d0-c172d19bc646](https://webhook.site/432cd01d-f8e1-418f-81d0-c172d19bc646)

```json
{
  "messages": [
    {
      "role": "user",
      "content": "Translate to Portuguese: [{\"title\":\"Something to test\"}]"
    }
  ],
  "model": "gpt-5-mini",
  "frequency_penalty": 0,
  "max_completion_tokens": 127980,
  "presence_penalty": 0,
  "top_p": 1
}

```

Ps: Using here `generate.bm25` for the sake of simplicity, but it will work with all different search methods.

Let me know if this helps!

---

<div class="post-metadata">

### Author: ![Will78](https://avatars.discourse-cdn.com/v4/letter/w/c57346/32.png) [@Will78](https://forum.weaviate.io/u/Will78)
#### Post date: [September 15, 2025, 10:18am UTC](https://forum.weaviate.io/t/help-with-custom-gpt-weaviate-cloud-integration-http-400-error/21958/3 "2025-09-15T10:18:19Z")

</div>

Hello @DudaNogueira , my workflow is this one: OpenAi (CustomGPT)→ Weaviate Cloud, meaning that I am using the standard ChatGPT interface to query weaviate. I understand that, you provide me a way to do the opposite if I am right. Here is an example of an YAML code I have included without success into the actions of my ChatGpt plugin. Please note that the authentication seems to be ok as included into the plugin itself.

{  
“openapi”: “3.1.0”,  
“info”: {  
“title”: “Get hr data”,  
“description”: “Retrieves current hr data.”,  
“version”: “v1.0.0”  
},  
“servers”: [  
{  
“url”: “[https://xxxxxxxxx.gcp.weaviate.cloud](https://xxxxxxxxx.gcp.weaviate.cloud)”  
}  
],  
“paths”: {  
“/v1/graphql”: {  
“post”: {  
“description”: “Retrieve eaviate content”,  
“operationId”: “PolicyChunk”,  
“parameters”: [  
{  
“name”: “chunk\_text”,  
“in”: “query”,  
“description”: “The policy”,  
“required”: true,  
“schema”: {  
“type”: “string”  
}  
}  
],  
“deprecated”: false  
}  
}  
},  
“components”: {  
“schemas”: {}  
}  
}
