All URIs are relative to https://zernio.com/api
| Method | HTTP request | Description |
|---|---|---|
| validateMedia | POST /v1/tools/validate/media | Validate media URL |
| validateMediaWithHttpInfo | POST /v1/tools/validate/media | Validate media URL |
| validatePost | POST /v1/tools/validate/post | Validate post content |
| validatePostWithHttpInfo | POST /v1/tools/validate/post | Validate post content |
| validatePostLength | POST /v1/tools/validate/post-length | Validate character count |
| validatePostLengthWithHttpInfo | POST /v1/tools/validate/post-length | Validate character count |
| validateSubreddit | GET /v1/tools/validate/subreddit | Check subreddit existence |
| validateSubredditWithHttpInfo | GET /v1/tools/validate/subreddit | Check subreddit existence |
ValidateMedia200Response validateMedia(validateMediaRequest)
Validate media URL
Check if a media URL is accessible and return metadata (content type, file size) plus per-platform size limit comparisons. Performs a HEAD request (with GET fallback) to detect content type and size. Rejects private/localhost URLs for SSRF protection. Platform limits are sourced from each platform's actual upload constraints.
// Import classes:
import dev.zernio.ApiClient;
import dev.zernio.ApiException;
import dev.zernio.Configuration;
import dev.zernio.auth.*;
import dev.zernio.models.*;
import dev.zernio.api.ValidateApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://zernio.com/api");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
ValidateApi apiInstance = new ValidateApi(defaultClient);
ValidateMediaRequest validateMediaRequest = new ValidateMediaRequest(); // ValidateMediaRequest |
try {
ValidateMedia200Response result = apiInstance.validateMedia(validateMediaRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ValidateApi#validateMedia");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| validateMediaRequest | ValidateMediaRequest |
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Media validation result | - |
ApiResponse validateMedia validateMediaWithHttpInfo(validateMediaRequest)
Validate media URL
Check if a media URL is accessible and return metadata (content type, file size) plus per-platform size limit comparisons. Performs a HEAD request (with GET fallback) to detect content type and size. Rejects private/localhost URLs for SSRF protection. Platform limits are sourced from each platform's actual upload constraints.
// Import classes:
import dev.zernio.ApiClient;
import dev.zernio.ApiException;
import dev.zernio.ApiResponse;
import dev.zernio.Configuration;
import dev.zernio.auth.*;
import dev.zernio.models.*;
import dev.zernio.api.ValidateApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://zernio.com/api");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
ValidateApi apiInstance = new ValidateApi(defaultClient);
ValidateMediaRequest validateMediaRequest = new ValidateMediaRequest(); // ValidateMediaRequest |
try {
ApiResponse<ValidateMedia200Response> response = apiInstance.validateMediaWithHttpInfo(validateMediaRequest);
System.out.println("Status code: " + response.getStatusCode());
System.out.println("Response headers: " + response.getHeaders());
System.out.println("Response body: " + response.getData());
} catch (ApiException e) {
System.err.println("Exception when calling ValidateApi#validateMedia");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| validateMediaRequest | ValidateMediaRequest |
ApiResponse<ValidateMedia200Response>
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Media validation result | - |
ValidatePost200Response validatePost(validatePostRequest)
Validate post content
Dry-run the full post validation pipeline without publishing. Catches issues like missing media for Instagram/TikTok/YouTube, hashtag limits, invalid thread formats, Facebook Reel requirements, and character limit violations. Accepts the same body as POST /v1/posts. Does NOT validate accounts, process media, or track usage. This is content-only validation. Returns errors for failures and warnings for near-limit content (>90% of character limit).
// Import classes:
import dev.zernio.ApiClient;
import dev.zernio.ApiException;
import dev.zernio.Configuration;
import dev.zernio.auth.*;
import dev.zernio.models.*;
import dev.zernio.api.ValidateApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://zernio.com/api");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
ValidateApi apiInstance = new ValidateApi(defaultClient);
ValidatePostRequest validatePostRequest = new ValidatePostRequest(); // ValidatePostRequest |
try {
ValidatePost200Response result = apiInstance.validatePost(validatePostRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ValidateApi#validatePost");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| validatePostRequest | ValidatePostRequest |
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Validation result | - |
ApiResponse validatePost validatePostWithHttpInfo(validatePostRequest)
Validate post content
Dry-run the full post validation pipeline without publishing. Catches issues like missing media for Instagram/TikTok/YouTube, hashtag limits, invalid thread formats, Facebook Reel requirements, and character limit violations. Accepts the same body as POST /v1/posts. Does NOT validate accounts, process media, or track usage. This is content-only validation. Returns errors for failures and warnings for near-limit content (>90% of character limit).
// Import classes:
import dev.zernio.ApiClient;
import dev.zernio.ApiException;
import dev.zernio.ApiResponse;
import dev.zernio.Configuration;
import dev.zernio.auth.*;
import dev.zernio.models.*;
import dev.zernio.api.ValidateApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://zernio.com/api");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
ValidateApi apiInstance = new ValidateApi(defaultClient);
ValidatePostRequest validatePostRequest = new ValidatePostRequest(); // ValidatePostRequest |
try {
ApiResponse<ValidatePost200Response> response = apiInstance.validatePostWithHttpInfo(validatePostRequest);
System.out.println("Status code: " + response.getStatusCode());
System.out.println("Response headers: " + response.getHeaders());
System.out.println("Response body: " + response.getData());
} catch (ApiException e) {
System.err.println("Exception when calling ValidateApi#validatePost");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| validatePostRequest | ValidatePostRequest |
ApiResponse<ValidatePost200Response>
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Validation result | - |
ValidatePostLength200Response validatePostLength(validatePostLengthRequest)
Validate character count
Check weighted character count per platform and whether the text is within each platform's limit. Twitter/X uses weighted counting (URLs = 23 chars via t.co, emojis = 2 chars). All other platforms use plain character length. Returns counts and limits for all 15 supported platform variants.
// Import classes:
import dev.zernio.ApiClient;
import dev.zernio.ApiException;
import dev.zernio.Configuration;
import dev.zernio.auth.*;
import dev.zernio.models.*;
import dev.zernio.api.ValidateApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://zernio.com/api");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
ValidateApi apiInstance = new ValidateApi(defaultClient);
ValidatePostLengthRequest validatePostLengthRequest = new ValidatePostLengthRequest(); // ValidatePostLengthRequest |
try {
ValidatePostLength200Response result = apiInstance.validatePostLength(validatePostLengthRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ValidateApi#validatePostLength");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| validatePostLengthRequest | ValidatePostLengthRequest |
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Character counts per platform | - |
ApiResponse validatePostLength validatePostLengthWithHttpInfo(validatePostLengthRequest)
Validate character count
Check weighted character count per platform and whether the text is within each platform's limit. Twitter/X uses weighted counting (URLs = 23 chars via t.co, emojis = 2 chars). All other platforms use plain character length. Returns counts and limits for all 15 supported platform variants.
// Import classes:
import dev.zernio.ApiClient;
import dev.zernio.ApiException;
import dev.zernio.ApiResponse;
import dev.zernio.Configuration;
import dev.zernio.auth.*;
import dev.zernio.models.*;
import dev.zernio.api.ValidateApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://zernio.com/api");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
ValidateApi apiInstance = new ValidateApi(defaultClient);
ValidatePostLengthRequest validatePostLengthRequest = new ValidatePostLengthRequest(); // ValidatePostLengthRequest |
try {
ApiResponse<ValidatePostLength200Response> response = apiInstance.validatePostLengthWithHttpInfo(validatePostLengthRequest);
System.out.println("Status code: " + response.getStatusCode());
System.out.println("Response headers: " + response.getHeaders());
System.out.println("Response body: " + response.getData());
} catch (ApiException e) {
System.err.println("Exception when calling ValidateApi#validatePostLength");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| validatePostLengthRequest | ValidatePostLengthRequest |
ApiResponse<ValidatePostLength200Response>
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Character counts per platform | - |
ValidateSubreddit200Response validateSubreddit(name, accountId)
Check subreddit existence
Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed). When accountId is provided, uses authenticated Reddit OAuth API with automatic token refresh (recommended). Falls back to Reddit's public JSON API, which may be unreliable from server IPs. Returns exists: false for private, banned, or nonexistent subreddits.
// Import classes:
import dev.zernio.ApiClient;
import dev.zernio.ApiException;
import dev.zernio.Configuration;
import dev.zernio.auth.*;
import dev.zernio.models.*;
import dev.zernio.api.ValidateApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://zernio.com/api");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
ValidateApi apiInstance = new ValidateApi(defaultClient);
String name = "programming"; // String | Subreddit name (with or without \"r/\" prefix)
String accountId = "accountId_example"; // String | Reddit social account ID for authenticated lookup (recommended for reliable results)
try {
ValidateSubreddit200Response result = apiInstance.validateSubreddit(name, accountId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ValidateApi#validateSubreddit");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| name | String | Subreddit name (with or without "r/" prefix) | |
| accountId | String | Reddit social account ID for authenticated lookup (recommended for reliable results) | [optional] |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Subreddit lookup result | - |
ApiResponse validateSubreddit validateSubredditWithHttpInfo(name, accountId)
Check subreddit existence
Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed). When accountId is provided, uses authenticated Reddit OAuth API with automatic token refresh (recommended). Falls back to Reddit's public JSON API, which may be unreliable from server IPs. Returns exists: false for private, banned, or nonexistent subreddits.
// Import classes:
import dev.zernio.ApiClient;
import dev.zernio.ApiException;
import dev.zernio.ApiResponse;
import dev.zernio.Configuration;
import dev.zernio.auth.*;
import dev.zernio.models.*;
import dev.zernio.api.ValidateApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://zernio.com/api");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
ValidateApi apiInstance = new ValidateApi(defaultClient);
String name = "programming"; // String | Subreddit name (with or without \"r/\" prefix)
String accountId = "accountId_example"; // String | Reddit social account ID for authenticated lookup (recommended for reliable results)
try {
ApiResponse<ValidateSubreddit200Response> response = apiInstance.validateSubredditWithHttpInfo(name, accountId);
System.out.println("Status code: " + response.getStatusCode());
System.out.println("Response headers: " + response.getHeaders());
System.out.println("Response body: " + response.getData());
} catch (ApiException e) {
System.err.println("Exception when calling ValidateApi#validateSubreddit");
System.err.println("Status code: " + e.getCode());
System.err.println("Response headers: " + e.getResponseHeaders());
System.err.println("Reason: " + e.getResponseBody());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| name | String | Subreddit name (with or without "r/" prefix) | |
| accountId | String | Reddit social account ID for authenticated lookup (recommended for reliable results) | [optional] |
ApiResponse<ValidateSubreddit200Response>
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Subreddit lookup result | - |