API Endpoints Reference

Interact with App Config.json programmatically. All endpoints use JSON request/response bodies and return standard HTTP status codes.

Overview

Base URL: https://api.appconfig.json/v1

All requests and responses are UTF-8 encoded. The API supports CORS for cross-origin requests. Timestamps are returned in ISO 8601 format.

Authentication

Authenticate requests using Bearer tokens. Include your API key in the Authorization header.

Header Authorization: Bearer acp_live_sk_your_api_key_here

Generate keys in Dashboard → Settings → API Keys

Rate Limits

PlanRequests / minBurst
Starter6010
Pro60050
EnterpriseUnlimitedCustom

Exceeding limits returns 429 Too Many Requests. Headers include X-RateLimit-Remaining and X-RateLimit-Reset.

Apps

Manage application registries and metadata.

GET /apps

Retrieve a paginated list of all applications associated with your account.

Query Parameters

ParameterTypeDescription
limitintegerMax results per page (default: 20, max: 100)
offsetintegerPagination cursor
sortstringSort field: created_at, name, updated_at

Response Example

JSON { "data": [{ "id": "app_8f3k29d1", "name": "payment-service", "status": "active", "created_at": "2024-11-15T08:30:00Z" }], "meta": { "total": 14, "has_more": true } }
POST /apps

Create a new application instance.

Request Body

JSON { "name": "auth-gateway", "description": "Central authentication service", "environments": ["development", "staging", "production"] }

Environments

Define and manage deployment environments per app.

GET /apps/{app_id}/environments

List environments for a specific application. Deprecated in v3.2

Use GET /v1/configs?app_id={app_id}&env=* for the updated workflow.

Configurations

Core endpoints for pushing, fetching, and versioning configuration snapshots.

POST /configs/push

Push a new configuration snapshot. Triggers real-time sync to connected instances.

Request Body

JSON { "app_id": "app_8f3k29d1", "environment": "production", "config": { "feature_flags": { "dark_mode": true }, "api_limits": { "requests_per_min": 1000 } } }

Response

JSON { "snapshot_id": "snap_9x2m4p1z", "version": "v2.4.1", "sync_status": "propagating", "instances_updated": 12 }
GET /configs/{snapshot_id}

Fetch a specific configuration snapshot by ID. Used by SDKs for hydration.

Webhooks

Subscribe to configuration events for CI/CD pipelines and alerting.

POST /webhooks

Register a new webhook endpoint.

Request Body

JSON { "url": "https://hooks.myinfra.io/ac-json", "events": ["config.pushed", "config.synced", "environment.changed"], "secret": "whsec_7k2m9..." }

Error Handling

The API uses conventional HTTP response codes:

CodeMeaning
200Success
400Bad Request (validation failed)
401Unauthorized (invalid/missing token)
403Forbidden (insufficient permissions)
404Not Found
429Too Many Requests
500Internal Server Error

Error responses include a JSON payload with error.code and error.message.