---
title: OpenDirectory Functions
framework: Open Directory
role: collectionGroup
role_heading: API Collection
path: opendirectory/opendirectory-functions
---

# OpenDirectory Functions

This document describes the functions, constants, and data types used to interact with Open Directory.

## Topics

### Working with the Open Directory Context

- [ODContextGetTypeID()](opendirectory/odcontextgettypeid().md)

### Working with Nodes

- [ODNodeCopyDetails(_:_:_:)](opendirectory/odnodecopydetails(_:_:_:).md)
- [ODNodeCopyRecord(_:_:_:_:_:)](opendirectory/odnodecopyrecord(_:_:_:_:_:).md)
- [ODNodeCopySubnodeNames(_:_:)](opendirectory/odnodecopysubnodenames(_:_:).md)
- [ODNodeCopySupportedAttributes(_:_:_:)](opendirectory/odnodecopysupportedattributes(_:_:_:).md)
- [ODNodeCopySupportedRecordTypes(_:_:)](opendirectory/odnodecopysupportedrecordtypes(_:_:).md)
- [ODNodeCopyUnreachableSubnodeNames(_:_:)](opendirectory/odnodecopyunreachablesubnodenames(_:_:).md)
- [ODNodeCreateCopy(_:_:_:)](opendirectory/odnodecreatecopy(_:_:_:).md)
- [ODNodeCreateRecord(_:_:_:_:_:)](opendirectory/odnodecreaterecord(_:_:_:_:_:).md)
- [ODNodeCreateWithName(_:_:_:_:)](opendirectory/odnodecreatewithname(_:_:_:_:).md)
- [ODNodeCreateWithNodeType(_:_:_:_:)](opendirectory/odnodecreatewithnodetype(_:_:_:_:).md)
- [ODNodeCustomCall(_:_:_:_:)](opendirectory/odnodecustomcall(_:_:_:_:).md)
- [ODNodeGetName(_:)](opendirectory/odnodegetname(_:).md)
- [ODNodeGetTypeID()](opendirectory/odnodegettypeid().md)
- [ODNodeSetCredentials(_:_:_:_:_:)](opendirectory/odnodesetcredentials(_:_:_:_:_:).md)
- [ODNodeSetCredentialsExtended(_:_:_:_:_:_:_:)](opendirectory/odnodesetcredentialsextended(_:_:_:_:_:_:_:).md)

### Working with Queries

- [ODQueryCopyResults(_:_:_:)](opendirectory/odquerycopyresults(_:_:_:).md)
- [ODQueryCreateWithNode(_:_:_:_:_:_:_:_:_:)](opendirectory/odquerycreatewithnode(_:_:_:_:_:_:_:_:_:).md)
- [ODQueryCreateWithNodeType(_:_:_:_:_:_:_:_:_:)](opendirectory/odquerycreatewithnodetype(_:_:_:_:_:_:_:_:_:).md)
- [ODQueryGetTypeID()](opendirectory/odquerygettypeid().md)
- [ODQueryScheduleWithRunLoop(_:_:_:)](opendirectory/odqueryschedulewithrunloop(_:_:_:).md)
- [ODQuerySetCallback(_:_:_:)](opendirectory/odquerysetcallback(_:_:_:).md)
- [ODQuerySetDispatchQueue(_:_:)](opendirectory/odquerysetdispatchqueue(_:_:).md)
- [ODQuerySynchronize(_:)](opendirectory/odquerysynchronize(_:).md)
- [ODQueryUnscheduleFromRunLoop(_:_:_:)](opendirectory/odqueryunschedulefromrunloop(_:_:_:).md)

### Working with Records

- [ODRecordAddMember(_:_:_:)](opendirectory/odrecordaddmember(_:_:_:).md)
- [ODRecordAddValue(_:_:_:_:)](opendirectory/odrecordaddvalue(_:_:_:_:).md)
- [ODRecordChangePassword(_:_:_:_:)](opendirectory/odrecordchangepassword(_:_:_:_:).md)
- [ODRecordContainsMember(_:_:_:)](opendirectory/odrecordcontainsmember(_:_:_:).md)
- [ODRecordCopyDetails(_:_:_:)](opendirectory/odrecordcopydetails(_:_:_:).md)
- [ODRecordCopyValues(_:_:_:)](opendirectory/odrecordcopyvalues(_:_:_:).md)
- [ODRecordDelete(_:_:)](opendirectory/odrecorddelete(_:_:).md)
- [ODRecordGetRecordName(_:)](opendirectory/odrecordgetrecordname(_:).md)
- [ODRecordGetRecordType(_:)](opendirectory/odrecordgetrecordtype(_:).md)
- [ODRecordGetTypeID()](opendirectory/odrecordgettypeid().md)
- [ODRecordRemoveMember(_:_:_:)](opendirectory/odrecordremovemember(_:_:_:).md)
- [ODRecordRemoveValue(_:_:_:_:)](opendirectory/odrecordremovevalue(_:_:_:_:).md)
- [ODRecordSetNodeCredentials(_:_:_:_:)](opendirectory/odrecordsetnodecredentials(_:_:_:_:).md)
- [ODRecordSetNodeCredentialsExtended(_:_:_:_:_:_:_:)](opendirectory/odrecordsetnodecredentialsextended(_:_:_:_:_:_:_:).md)
- [ODRecordSetValue(_:_:_:_:)](opendirectory/odrecordsetvalue(_:_:_:_:).md)
- [ODRecordSynchronize(_:_:)](opendirectory/odrecordsynchronize(_:_:).md)
- [ODRecordVerifyPassword(_:_:_:)](opendirectory/odrecordverifypassword(_:_:_:).md)
- [ODRecordVerifyPasswordExtended(_:_:_:_:_:_:)](opendirectory/odrecordverifypasswordextended(_:_:_:_:_:_:).md)

### Working with Sessions

- [ODSessionCopyNodeNames(_:_:_:)](opendirectory/odsessioncopynodenames(_:_:_:).md)
- [ODSessionCreate(_:_:_:)](opendirectory/odsessioncreate(_:_:_:).md)
- [ODSessionGetTypeID()](opendirectory/odsessiongettypeid().md)

### Data Types

- [ODAttributeType](opendirectory/odattributetype.md)
- [ODAuthenticationType](opendirectory/odauthenticationtype.md)
- [ODContext](opendirectory/odcontext.md)
- [ODNodeRef](opendirectory/odnoderef.md)
- [ODQueryRef](opendirectory/odqueryref.md)
- [ODRecordRef](opendirectory/odrecordref.md)
- [ODSessionRef](opendirectory/odsessionref.md)
- [ODMatchType](opendirectory/odmatchtype.md)
- [ODNodeType](opendirectory/odnodetype.md)
- [ODQueryCallback](opendirectory/odquerycallback.md)
- [ODRecordType](opendirectory/odrecordtype.md)

### Constants

- [Session Keys](opendirectory/session-keys.md)
- [Node Types](opendirectory/1497602-node-types.md)
- [Match Types](opendirectory/match-types.md)
- [Record Types](opendirectory/record-types.md)
- [General Attribute Types](opendirectory/general-attribute-types.md)
- [Configuration Attribute Types](opendirectory/configuration-attribute-types.md)
- [Authentication Types](opendirectory/authentication-types.md)

### Functions

- [ODNodeAddAccountPolicy(_:_:_:_:)](opendirectory/odnodeaddaccountpolicy(_:_:_:_:).md)
- [ODNodeCopyAccountPolicies(_:_:)](opendirectory/odnodecopyaccountpolicies(_:_:).md)
- [ODNodeCopyPolicies(_:_:)](opendirectory/odnodecopypolicies(_:_:).md)
- [ODNodeCopySupportedPolicies(_:_:)](opendirectory/odnodecopysupportedpolicies(_:_:).md)
- [ODNodeCustomFunction(_:_:_:_:)](opendirectory/odnodecustomfunction(_:_:_:_:).md)
- [ODNodePasswordContentCheck(_:_:_:_:)](opendirectory/odnodepasswordcontentcheck(_:_:_:_:).md)
- [ODNodeRemoveAccountPolicy(_:_:_:_:)](opendirectory/odnoderemoveaccountpolicy(_:_:_:_:).md)
- [ODNodeRemovePolicy(_:_:_:)](opendirectory/odnoderemovepolicy(_:_:_:).md)
- [ODNodeSetAccountPolicies(_:_:_:)](opendirectory/odnodesetaccountpolicies(_:_:_:).md)
- [ODNodeSetPolicies(_:_:_:)](opendirectory/odnodesetpolicies(_:_:_:).md)
- [ODNodeSetPolicy(_:_:_:_:)](opendirectory/odnodesetpolicy(_:_:_:_:).md)
- [ODRecordAddAccountPolicy(_:_:_:_:)](opendirectory/odrecordaddaccountpolicy(_:_:_:_:).md)
- [ODRecordAuthenticationAllowed(_:_:)](opendirectory/odrecordauthenticationallowed(_:_:).md)
- [ODRecordCopyAccountPolicies(_:_:)](opendirectory/odrecordcopyaccountpolicies(_:_:).md)
- [ODRecordCopyEffectivePolicies(_:_:)](opendirectory/odrecordcopyeffectivepolicies(_:_:).md)
- [ODRecordCopyPolicies(_:_:)](opendirectory/odrecordcopypolicies(_:_:).md)
- [ODRecordCopySupportedPolicies(_:_:)](opendirectory/odrecordcopysupportedpolicies(_:_:).md)
- [ODRecordPasswordChangeAllowed(_:_:_:)](opendirectory/odrecordpasswordchangeallowed(_:_:_:).md)
- [ODRecordRemoveAccountPolicy(_:_:_:_:)](opendirectory/odrecordremoveaccountpolicy(_:_:_:_:).md)
- [ODRecordRemovePolicy(_:_:_:)](opendirectory/odrecordremovepolicy(_:_:_:).md)
- [ODRecordSecondsUntilAuthenticationsExpire(_:)](opendirectory/odrecordsecondsuntilauthenticationsexpire(_:).md)
- [ODRecordSecondsUntilPasswordExpires(_:)](opendirectory/odrecordsecondsuntilpasswordexpires(_:).md)
- [ODRecordSetAccountPolicies(_:_:_:)](opendirectory/odrecordsetaccountpolicies(_:_:_:).md)
- [ODRecordSetPolicies(_:_:_:)](opendirectory/odrecordsetpolicies(_:_:_:).md)
- [ODRecordSetPolicy(_:_:_:_:)](opendirectory/odrecordsetpolicy(_:_:_:_:).md)
- [ODRecordWillAuthenticationsExpire(_:_:)](opendirectory/odrecordwillauthenticationsexpire(_:_:).md)
- [ODRecordWillPasswordExpire(_:_:)](opendirectory/odrecordwillpasswordexpire(_:_:).md)

## See Also

### Reference

- [OpenDirectory Enumerations](opendirectory/opendirectory-enumerations.md)
- [OpenDirectory Constants](opendirectory/opendirectory-constants.md)
- [OpenDirectory Data Types](opendirectory/opendirectory-data-types.md)
