# Monad API Programmatically manage your security data pipelines, configure data sources and destinations, and automate your security operations. ## Base URL ``` https://app.monad.com/api ``` ## Authentication The Monad API supports two authentication methods: ### API Key Include your API key in the `x-api-key` header: ```bash curl -H "x-api-key: YOUR_API_KEY" \ https://app.monad.com/api/v2/organizations/{org_id}/pipelines ``` ### JWT Bearer Token Include your JWT token in the `Authorization` header: ```bash curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \ https://app.monad.com/api/v2/organizations/{org_id}/pipelines ``` ## Quick Start List your pipelines: ```bash curl -H "x-api-key: YOUR_API_KEY" \ https://app.monad.com/api/v2/organizations/{org_id}/pipelines ``` Create a new pipeline: ```bash curl -X POST \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name": "My Pipeline", "description": "Pipeline description"}' \ https://app.monad.com/api/v2/organizations/{org_id}/pipelines ``` ## API Sections ## Rate Limits API requests are subject to rate limiting. If you exceed the rate limit, you'll receive a `429 Too Many Requests` response. Implement exponential backoff in your applications to handle rate limiting gracefully. ## Errors The API uses standard HTTP status codes: | Status Code | Description | |-------------|-------------| | `200` | Success | | `201` | Created | | `400` | Bad Request - Invalid parameters | | `401` | Unauthorized - Invalid or missing authentication | | `403` | Forbidden - Insufficient permissions | | `404` | Not Found - Resource doesn't exist | | `429` | Too Many Requests - Rate limit exceeded | | `500` | Internal Server Error |