Skip to content

Latest commit

 

History

History
596 lines (428 loc) · 22.1 KB

File metadata and controls

596 lines (428 loc) · 22.1 KB

ValidateApi

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

validateMedia

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.

Example

// 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();
        }
    }
}

Parameters

Name Type Description Notes
validateMediaRequest ValidateMediaRequest

Return type

ValidateMedia200Response

Authorization

bearerAuth

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Media validation result -

validateMediaWithHttpInfo

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.

Example

// 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();
        }
    }
}

Parameters

Name Type Description Notes
validateMediaRequest ValidateMediaRequest

Return type

ApiResponse<ValidateMedia200Response>

Authorization

bearerAuth

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Media validation result -

validatePost

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).

Example

// 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();
        }
    }
}

Parameters

Name Type Description Notes
validatePostRequest ValidatePostRequest

Return type

ValidatePost200Response

Authorization

bearerAuth

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Validation result -

validatePostWithHttpInfo

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).

Example

// 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();
        }
    }
}

Parameters

Name Type Description Notes
validatePostRequest ValidatePostRequest

Return type

ApiResponse<ValidatePost200Response>

Authorization

bearerAuth

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Validation result -

validatePostLength

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.

Example

// 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();
        }
    }
}

Parameters

Name Type Description Notes
validatePostLengthRequest ValidatePostLengthRequest

Return type

ValidatePostLength200Response

Authorization

bearerAuth

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Character counts per platform -

validatePostLengthWithHttpInfo

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.

Example

// 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();
        }
    }
}

Parameters

Name Type Description Notes
validatePostLengthRequest ValidatePostLengthRequest

Return type

ApiResponse<ValidatePostLength200Response>

Authorization

bearerAuth

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Character counts per platform -

validateSubreddit

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.

Example

// 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();
        }
    }
}

Parameters

Name Type Description Notes
name String Subreddit name (with or without &quot;r/&quot; prefix)
accountId String Reddit social account ID for authenticated lookup (recommended for reliable results) [optional]

Return type

ValidateSubreddit200Response

Authorization

bearerAuth

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Subreddit lookup result -

validateSubredditWithHttpInfo

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.

Example

// 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();
        }
    }
}

Parameters

Name Type Description Notes
name String Subreddit name (with or without &quot;r/&quot; prefix)
accountId String Reddit social account ID for authenticated lookup (recommended for reliable results) [optional]

Return type

ApiResponse<ValidateSubreddit200Response>

Authorization

bearerAuth

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Subreddit lookup result -