# AI Text Content Classification API

## About

This Utility API focuses on AI-based Content Classification, analyzing text and providing accurate categorization in textual content.

This API identifies relevant content categories within a document. The API filters and returns the most specific category for precision, enhancing applications in search, data organization, and content recommendations.

The atoms cost is subjected to change depending on the size of the input file and the provider selected. The list of providers and the atoms cost for each provider is given below:

| Provider (requested_service) | Atoms |
| --- | --- |
| Google | 500 |

## API Playground

ApyHub AI

This API endpoint does not have a playground. You can test it with Voiden.

## API Documentation

input json: output json

POST

`https://api.apyhub.com/ai/text/content/classification`

#### Request example

```bash
curl --location --request POST 'https://api.apyhub.com/ai/text/content/classification' \
--header 'apy-token: {{token}}' \
--header 'Content-Type: application/json' \
--data '{
    "text": "Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronic Show.  Sundar Pichai said in his keynote that users love their new Android phones.",
    "encoding": "UTF8",
    "requested_service": "google",
    "google": {
        "key": "your-google-key"
    }
}'
```

| Provider (requested_service) | Atoms |
| --- | --- |
| Google | 500 |

**Method:** `POST`

**Content Type:** `application/json`

**Request Body**

| Attribute | Type | Mandatory | Description |
| --- | --- | --- | --- |
| text | String | Yes | Provide the textual content for which you want to perform content classification. <br> \- The max content size is 125,000 characters. |
| encoding | String | No (use if `google` is selected in requested_service) | Provide the textual content encoding format it can be `UTF8`,`UTF16`,`UTF32` default to `UTF8`. |
| requested_service | String | Yes | Enter the name of service provider. Supported providers are `google`. |
| google.key | String | Yes (if `google` is selected in requested_service) | Input service key provided by google. |

**Sample Response**

A successful request returns the content classification response in the output parameter specified. If the request fails, the response contains an error code and a message to help determine what went wrong.

### HTTP Response Codes

The method may return one of the following HTTP status codes:

| Status Code | Description |
| --- | --- |
| 200 | The request was successful. |
| 400 | Invalid input - the file is corrupt or the supported inputs are not provided. |
| 401 | Required authentication information is either missing or not valid for the resource. |
| 500 | If any unexpected error occurs while processing the request. |

## Authentication

All API requests to ApyHub services need to be authenticated. Currently, we support `tokens` or `basic authentication` mechanisms.
You can generate and view your existing credentials from your workspace settings (on the left side of the navbar) and go to “API Keys".

Points to note:

- Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
- Use the `apy-token` as the header parameter to pass the token.
- Use the `Authorization` header to send the basic authentication credentials.

## Error codes

```json
{
  "error": {
    "code": 105,
    "message": "Invalid URL"
  }
}
```

### Common Error Codes

- **101 - Missing parameters**: This code is returned when mandatory parameters are missing from the request.
- **102 - Invalid JSON**: This code is returned when invalid JSON is passed in the request body.
- **103 - Invalid input**: This code is returned when an invalid input is provided.
- **104 - Invalid file**: This code is returned when there is an issue with a file.
- **105 - Invalid URL**: This code is returned when there is an issue with a URL.
- **109 - Invalid input format**: This code is returned when input is not provided in the required format.
- **110 - Server error**: This code is returned when an unexpected error occurs while processing a request.
