Silent.

Silent. API Documentation

Comprehensive guide to integrate with the Silent. API. Build powerful applications with our RESTful API designed for Roblox game development.

Introduction

The Silent. API provides a powerful interface for managing applications, data, and integrations. Built with modern REST principles, it offers seamless integration for your development projects.

Note: All API requests require authentication using an API key. Generate your key from the API-Beta page.

Key Features

  • RESTful Design: Clean, predictable API endpoints
  • JSON Responses: All responses are in JSON format
  • Rate Limiting: Built-in protection against abuse
  • Comprehensive Documentation: Detailed guides and examples
  • Developer Support: Active community and support

Authentication

All API requests must include your API key in the x-api-key header. Keep your API key secure and never expose it in client-side code.

Security Warning: If your API key is compromised, generate a new one immediately from the API-Beta page.

Example Request

GET /api/v1/applications HTTP/1.1
Host: api.silentdevstudio.com
x-api-key: SILENT_************************************
Content-Type: application/json

Quick Start

Get started with the Silent. API in just a few steps:

1. Get Your API Key

Visit the API-Beta page to generate your API key.

2. Install Dependencies

npm install axios
# or
npm install node-fetch

3. Make Your First Request

const axios = require('axios');

const api = axios.create({
  baseURL: 'https://api.silentdevstudio.com/api/v1',
  headers: {
    'x-api-key': process.env.SILENT_API_KEY
  }
});

// List your applications
api.get('/applications')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));

API Endpoints

GET /applications
Retrieve a list of all your applications with optional pagination.

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoMaximum number of results (default: 50, max: 100)
offsetintegerNoNumber of results to skip for pagination

Response Example

{
  "applications": [
    {
      "id": "app_123456789",
      "name": "My Game",
      "description": "An awesome Roblox game",
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ],
  "total": 1,
  "limit": 50,
  "offset": 0
}
POST /applications
Create a new application.

Request Body

FieldTypeRequiredDescription
namestringYesName of the application
descriptionstringNoDescription of the application

Request Example

{
  "name": "My New Game",
  "description": "A revolutionary Roblox experience"
}
GET /applications/:id
Retrieve details of a specific application.

Path Parameters

ParameterTypeDescription
idstringApplication ID
PATCH /applications/:id
Update an existing application.

Request Body

FieldTypeRequiredDescription
namestringNoNew name for the application
descriptionstringNoNew description for the application
DELETE /applications/:id
Delete an application permanently.
Warning: This action cannot be undone. All data associated with the application will be permanently deleted.

Code Examples

Node.js with Axios

const axios = require('axios');

const api = axios.create({
  baseURL: 'https://api.silentdevstudio.com/api/v1',
  headers: {
    'x-api-key': process.env.SILENT_API_KEY
  }
});

// Get all applications
const getApplications = async () => {
  try {
    const response = await api.get('/applications');
    return response.data;
  } catch (error) {
    console.error('Error:', error.response?.data || error.message);
  }
};

Node.js with Fetch

const fetch = require('node-fetch');

const API_BASE = 'https://api.silentdevstudio.com/api/v1';
const API_KEY = process.env.SILENT_API_KEY;

const getApplications = async () => {
  try {
    const response = await fetch(`${API_BASE}/applications`, {
      headers: {
        'x-api-key': API_KEY,
        'Content-Type': 'application/json'
      }
    });
    
    if (!response.ok) {
      throw new Error(`HTTP ${response.status}`);
    }
    
    return await response.json();
  } catch (error) {
    console.error('Error:', error.message);
  }
};

cURL Examples

# Get all applications
curl -H "x-api-key: YOUR_API_KEY" \
     https://api.silentdevstudio.com/api/v1/applications

# Create new application
curl -X POST \
     -H "x-api-key: YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"name":"My Game","description":"Awesome game"}' \
     https://api.silentdevstudio.com/api/v1/applications

Error Handling

The API returns standard HTTP status codes and detailed error messages to help you handle errors gracefully.

Status CodeError TypeDescription
400Bad RequestInvalid request parameters or body
401UnauthorizedMissing or invalid API key
403ForbiddenInsufficient permissions
404Not FoundResource does not exist
429Too Many RequestsRate limit exceeded
500Internal Server ErrorUnexpected server error

Error Response Format

{
  "error": {
    "code": "INVALID_API_KEY",
    "message": "The provided API key is invalid",
    "details": "Please check your API key and try again"
  }
}

Rate Limits

To ensure fair usage and prevent abuse, the API implements rate limiting:

  • 100 requests per minute per API key
  • 1000 requests per hour per API key
  • Rate limit headers are included in all responses
Rate Limit Headers: Check the X-RateLimit-Remaining and X-RateLimit-Reset headers to monitor your usage.

Best Practices

Security

  • Store API keys securely using environment variables
  • Never commit API keys to version control
  • Rotate API keys regularly
  • Use HTTPS for all API requests

Performance

  • Implement proper error handling and retries
  • Use pagination for large datasets
  • Cache responses when appropriate
  • Monitor rate limits

Development

  • Use descriptive application names
  • Implement proper logging
  • Test with different scenarios
  • Keep your integration updated

Frequently Asked Questions

How do I get an API key?

Visit the API-Beta page to generate your API key.

What if I lose my API key?

Generate a new API key from the API-Beta page. Old keys will become invalid.

Can I regenerate my API key?

Yes, you can generate a new API key at any time. The old key will be invalidated.

Is there a sandbox environment?

Currently, we only provide a production environment. Test your integrations carefully.

How do I get support?

Join our Discord community for support and updates.