---
pageClass: page-reference
---
# Utilities
> Utilities are the various helper endpoints located within the API.
[[toc]]
---
## Generate a Hash
Generate a hash for a given string.
### Request Body
`string` **Required**\
String to hash.
### Returns
Hashed string.
### REST API
```
POST /utils/hash/generate
```
##### Example
```json
// POST /utils/hash/generate
{
"string": "Hello World!"
}
```
### GraphQL
```
POST /graphql/system
```
```graphql
type Mutation {
utils_hash_generate(string: String!): String
}
```
##### Example
```graphql
mutation {
utils_hash_generate(string: "Hello World!")
}
```
---
## Verify a Hash
Verify a string with a hash.
### Request Body
`string` **Required**\
Source string.
`hash` **Required**\
Hash you want to verify against.
### Returns
Boolean.
### REST API
```
POST /utils/hash/verify
```
##### Example
```json
// POST /utils/hash/verify
{
"string": "Hello World!",
"hash": "$arg...fEfM"
}
```
### GraphQL
```
POST /graphql/system
```
```graphql
type Mutation {
utils_hash_verify(hash: String!, string: String!): Boolean
}
```
---
## Manually Sort Items in Collection
If a collection has a sort field, this util can be used to move items in that manual order.
### Request Body
`item` **Required**\
Primary key of the item you're moving in the collection.
`to` **Required**\
Primary key of the item you're moving the source item too.
### Returns
Empty body.
### REST API
```
POST /utils/sort/:collection
```
##### Example
```json
// POST /utils/sort/articles
{
"item": 16,
"to": 51
}
```
### GraphQL
```
POST /graphql/system
```
```graphql
type Mutation {
utils_sort(collection: String!, item: ID!, to: ID!): Boolean
}
```
##### Example
```graphql
mutation {
utils_sort(collection: "articles", item: 16, to: 51)
}
```
---
## Import Data from File
Import multiple records from a JSON or CSV file into a collection. Relies on a `multipart/form-data` encoded request,
just like regular file uploads. Check [Upload a File](/reference/api/system/files/#upload-a-file) for more information.
The import endpoint expects the file structure to match [the export query parameter](/reference/api/query/#export). For
JSON, this is an array of objects, where every object is an item. For CSV, the first line has to be the columns header.
### Request Body
Send the file in a `multipart/form-data` request. See [Upload a File](/reference/api/system/files/#upload-a-file) for
more information.
### Returns
Empty body.
### REST API
```
POST /utils/import/:collection
```
##### Example
```
POST /utils/import/articles
Content-Type: multipart/form-data; charset=utf-8; boundary=__X_BOUNDARY__
Content-Length: 3442422
--__X_BOUNDARY__
Content-Disposition: form-data; name="file"; filename="articles.csv"
Content-Type: text/csv
"id","title","another","created_by"
1,"My First Articled","abc","506385A2-E444-4AE2-A860-F00957A62C8A"
2,"My Second Article","abc","506385A2-E444-4AE2-A860-F00957A62C8A"
3,"My Updated Third Article","abc","506385A2-E444-4AE2-A860-F00957A62C8A"
4,"My Fourth Article","abc","506385A2-E444-4AE2-A860-F00957A62C8A"
5,"My Fifth Article","abc","506385A2-E444-4AE2-A860-F00957A62C8A"
...
```
### GraphQL
n/a
---