# Using the RESTAPI to manage schema

**URL:** <https://forum.weaviate.io/t/using-the-restapi-to-manage-schema/20439>\
**Category:** Support\
**Tags:** technical\
**Created:** [April 1, 2025, 12:10am UTC](https://forum.weaviate.io/t/using-the-restapi-to-manage-schema/20439 "2025-04-01T00:10:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![JohnAraujo](https://avatars.discourse-cdn.com/v4/letter/j/3be4f8/32.png) [@JohnAraujo](https://forum.weaviate.io/u/JohnAraujo)\
**Post date:** [April 1, 2025, 12:10am UTC](https://forum.weaviate.io/t/using-the-restapi-to-manage-schema/20439/1 "2025-04-01T00:10:15Z")

</div>

### Description

I am trying to use the rest api to add a field to a collection in weaviate. It fails with the message below. I am using Postman to add a property to the database

The exception happens when I issue the command below. I have tried multiple combinations without success. It always return the same name. The collection is called “Core” , I want to add the “folder” property.

Is it possible to change a collection using the REST API ?

POST localhost:8080/v1/schema/Core/properties  
\<— the body —\>  
‘{  
“name”: “folder”,  
“dataType”: [“text”],  
“description”: “release is a grouping to enable multiple execution”,  
“moduleConfig”: {},  
“indexInverted”: true,  
“indexFilterable”: true,  
“indexSearchable”: true,  
“indexRangeFilters”: true,  
“tokenization”: “word”  
}’

\<---- Response —\>\>

{  
“error”: [  
{  
“message”: “property must contain name”  
}  
]  
}

### Server Setup Information

- Weaviate Server Version: “1.26.1”
- Deployment Method: 
- Multi Node? Number of Running Nodes: 1
- Client Language and Version: Postman http
- Multitenancy?: N

### Any additional Information

GET localhost:8080/v1/schema #works perfectly.

---

<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:** [April 1, 2025, 3:34pm UTC](https://forum.weaviate.io/t/using-the-restapi-to-manage-schema/20439/2 "2025-04-01T15:34:10Z")

</div>

hi!

Welcome to our community 🤗

Can you check if this still happen on 1.26.17 (the latest for this release)?

This has worked for me on 1.29:

```python
client.collections.delete("Test")
collection = client.collections.create(
    "Test",
    properties=[
        wvc.config.Property(name="prop1", data_type=wvc.config.DataType.TEXT)
    ]
)

```

now, creating a second property:

```bash
curl --request POST \
  --url http://localhost:8080/v1/schema/Test/properties \
  --header 'Content-Type: application/json' \
  --header 'User-Agent: insomnia/8.6.0' \
  --data '{
"name": "folder",
"dataType": ["text"],
"description": "release is a grouping to enable multiple execution",
"moduleConfig": {},
"indexFilterable": true,
"indexSearchable": true,
"indexRangeFilters": false,
"tokenization": "word"
}'

```

Let me know if that helps!

---

<div class="post-metadata">

**Author:** ![JohnAraujo](https://avatars.discourse-cdn.com/v4/letter/j/3be4f8/32.png) [@JohnAraujo](https://forum.weaviate.io/u/JohnAraujo)\
**Post date:** [April 1, 2025, 7:10pm UTC](https://forum.weaviate.io/t/using-the-restapi-to-manage-schema/20439/3 "2025-04-01T19:10:48Z")

</div>

Thanks, it helped. In fact, I was using graphql with postman, instead of raw data for schemas. It works now. When I saw your post, I realized the mistake I was committing.

 ![image](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/4/4748392d9eea4ed33096f87a66256f3869ca16a8.png)

---

<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:** [April 2, 2025, 12:33pm UTC](https://forum.weaviate.io/t/using-the-restapi-to-manage-schema/20439/4 "2025-04-02T12:33:41Z")

</div>

Oh I see. That happens quite often.

the Graphql is a `readonly` api. For any write/update operation, it need to be done using REST or GRPC.

Glad to know your are now unblocked!

Happy coding 🙂
