| Memory Allocation API | Memory allocation and deallocation |
| AtArray API | AtArray objects construction and manipulation |
| AtBBox API | Bounding box creation and manipulation |
| Camera Nodes | Camera initialization and update, and custom camera node implementation |
| AtClosure API | AtClosure type and related utilities |
| AtRGB API | Creation and operation with Arnold color types |
| Color Manager Nodes | Implementation of pluggable color manager nodes |
| Constants | Numerical contants used throughout the Arnold code |
| Render device API | Render device querying and selection |
| ASS File API | Loading and writing of .ass (Arnold Scene Source) scene files |
| Output Driver Nodes | Construction and manipulation of driver nodes |
| AtEnum API | Arnold AtEnum type |
| error reporting API | Error report usage and configuration |
| File Utils API | File path processing and resolution |
| Pixel Sample Filter Nodes | Sample filters creation and operation |
| Licensing API | Arnold license system information |
| MaterialX API | MaterialX document processing |
| Math Functions | Math and comparison functions tuned for Arnold |
| AtMatrix API | AtMatrix type creation and operation |
| Metadata API | Reading and writing of metadata |
| Message Logging API | Log management and operation |
| AtNodeEntry API | AtNodeEntry methods |
| AtNode API | Creation, manipulation and operation with Arnold nodes |
| Procedural Texturing API | Multiple noise functions, in both scalar and vector flavors |
| Operator API | Operator node creation and operation |
| AtParamEntry API | Querying and operation with node parameters |
| Plug-in Loading API | Loading of external dynamically linked plugins into Arnold |
| Procedural API | Implementation of custom Arnold procedural nodes |
| Ray Tracing API | Creation and manipulation of AtRay objects |
| Rendering API | Render process operation and querying |
| Sampler API | A generic, two-dimensional sampler that is sometimes useful when writing shaders |
| Scene File API | Scene file loading and writing using multiple formats |
| Scene Format Plugin API | Implementation of custom scene formats |
| AOV (Arbitrary Output Variables) API | AOV (Arbitrary Ouput Values) writing from inside a shader |
| BSDF API | Various BSDF functions available to shader writers |
| Shader Closure API | AtClosure creation |
| Light Sampling API | Light sampling |
| Shader Message Passing API | Message passing between shaders |
| Parameter Evaluation API | Parameter value querying from shaders |
| Irradiance / Radiance API | Radiance and irradiance lookup functions |
| Screen Sample | Definition of the AtScrSample structure |
| Sub-Surface Scattering API | SSS utility functions |
| User-Data API | User-defined data access on geometry |
| Shader Utility API | Various utility functions for shader writers |
| Volume Rendering API | Volume functions for shaders |
| Shader Globals API | AtShaderGlobals structure contains data accessible during the shading process |
| Shader Nodes | Implementation of custom shader nodes |
| Render Statistics API | Render statistics querying and operation |
| Texture Mapping API | Texture mapping system |
| Thread Management API | Implementation of platform-agnostic CPU threads |
| Unit Testing API | Unit test execution |
| Universe API | Construction and manipulation of AtUniverse objects |
| AtVector API | Vector math types and their related utilities |
| Versioning API | Arnold version information |
| Volume Plugin API | Interaction with custom volumes, implicit surfaces and formats at render time |