### Authentication Source: https://developer.air.inc/docs/index All requests to the Air API must be authenticated using an API key and scoped to a specific workspace. ```APIDOC ## Authentication All requests are authenticated through the use of an API key. Contact your account manager to get started with API access. Additionally, requests are scoped to a specific workspace using the `x-air-workspace-id` header. Include these headers with every request: ``` x-api-key: your_api_key_here x-air-workspace-id: your_workspace_id ``` ``` -------------------------------- ### Working with Identifiers Source: https://developer.air.inc/docs/index All resource identifiers in the Air API follow the UUID v4 format. ```APIDOC ## Working with identifiers All resource identifiers use the UUID v4 format. This includes `id`, `assetId`, `boardId`, `customFieldId`, and similar fields. Example: `7a2b9e34-bb38-4747-a838-3ffc32fdf43d` ``` -------------------------------- ### Rate Limits Source: https://developer.air.inc/docs/index Air enforces rate limits per API key to ensure reliable performance. ```APIDOC ## Rate limits To ensure reliable performance for all users, Air enforces these limits per API key: * **15 requests per second** * **10 concurrent requests** at any given time When you exceed these limits, you'll receive a `429` status code with the message "Too Many Requests". Utilize exponential backoff starting at 1 second when you encounter rate limits. ``` -------------------------------- ### Authentication Source: https://developer.air.inc/docs/getting-started All requests to the Air API must be authenticated using an API key and a workspace ID. Include these headers in every request. ```APIDOC ## Authentication ### Description All requests are authenticated through the use of an API key. Contact your account manager to get started with API access. Requests are scoped to a specific workspace using the `x-air-workspace-id` header. ### Headers Include the following headers with every request: ```bash x-api-key: your_api_key_here x-air-workspace-id: your_workspace_id ``` ``` -------------------------------- ### Pagination Source: https://developer.air.inc/docs/index Many list endpoints support pagination to help manage rate limits. Use the `limit` parameter to control the number of items returned. ```APIDOC ### Pagination Many list endpoints support pagination to help you work within rate limits. Use the `limit` parameter to control how many items are returned (maximum 500 per request). ``` -------------------------------- ### Handling Responses Source: https://developer.air.inc/docs/index Air uses conventional HTTP response codes to indicate the success or failure of API requests. ```APIDOC ## Handling responses Air uses conventional HTTP response codes to indicate success or failure. | Code | Description | |---|---| | 200 - OK | Request succeeded | | 201 - Created | New resource created successfully | | 204 - No Content | Request succeeded with no response body | | 400 - Bad Request | Invalid request. Check the response for details | | 401 - Unauthorized | Missing or invalid API key | | 403 - Forbidden | Valid credentials, but insufficient permissions | | 404 - Not Found | The requested resource doesn't exist | | 409 - Conflict | Request conflicts with current resource state | | 429 - Too Many Requests | You've hit the rate limit. Slow down and retry | All relevant response bodies are returned in JSON format. ``` -------------------------------- ### Pagination Source: https://developer.air.inc/docs/getting-started Many list endpoints support pagination using the `limit` parameter to control the number of items returned per request, with a maximum of 500. ```APIDOC ### Pagination ### Description Many list endpoints support pagination to help you work within rate limits. Use the `limit` parameter to control how many items are returned (maximum 500 per request). ``` -------------------------------- ### API Authentication Headers Source: https://developer.air.inc/docs/index Requests to the Air API must include specific headers for authentication and workspace identification. The `x-api-key` header is used for API authentication, and the `x-air-workspace-id` header scopes the request to a particular workspace. Contact your account manager to obtain your API key. ```Bash x-api-key: your_api_key_here x-air-workspace-id: your_workspace_id ``` -------------------------------- ### Identifiers Source: https://developer.air.inc/docs/getting-started Resource identifiers in the Air API follow the UUID v4 format. This applies to fields like `id`, `assetId`, `boardId`, and `customFieldId`. ```APIDOC ## Working with identifiers ### Description All resource identifiers use the UUID v4 format. This includes `id`, `assetId`, `boardId`, `customFieldId`, and similar fields. ### Example `7a2b9e34-bb38-4747-a838-3ffc32fdf43d` ``` -------------------------------- ### Rate Limits Source: https://developer.air.inc/docs/getting-started Air enforces rate limits to ensure performance. Exceeding these limits will result in a `429` status code. Implement exponential backoff for retries. ```APIDOC ## Rate limits ### Description To ensure reliable performance for all users, Air enforces these limits per API key: * **15 requests per second** * **10 concurrent requests** at any given time When you exceed these limits, you'll receive a `429` status code with the message "Too Many Requests". Utilize exponential backoff starting at 1 second when you encounter rate limits. ``` -------------------------------- ### Response Handling Source: https://developer.air.inc/docs/getting-started The Air API uses standard HTTP response codes to indicate the success or failure of requests. Response bodies are always in JSON format. ```APIDOC ## Handling responses ### Description Air uses conventional HTTP response codes to indicate success or failure. All relevant response bodies are returned in JSON format. ### HTTP Response Codes | Code | Description | | :---------------------- | :---------------------------------------------- | | 200 - OK | Request succeeded | | 201 - Created | New resource created successfully | | 204 - No Content | Request succeeded with no response body | | 400 - Bad Request | Invalid request. Check the response for details | | 401 - Unauthorized | Missing or invalid API key | | 403 - Forbidden | Valid credentials, but insufficient permissions | | 404 - Not Found | The requested resource doesn't exist | | 409 - Conflict | Request conflicts with current resource state | | 429 - Too Many Requests | You've hit the rate limit. Slow down and retry | ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.