# Returns a directory from the system by its ID. This method will look up a directory by the specified ID and return it back. Endpoint: GET /directories/{tenantId}/{id} Version: v1-2025-04-18 Security: knox-authorizer ## Path parameters: - `tenantId` (string, required) The id of the tenant being accessed. - `id` (string, required) The ID of the directory to return. ## Query parameters: - `fields` (string) The fields that you want to retrieve; if omitted, the entire object is returned. - `consistentRead` (string) Indicates the API should force a consistent read on the data source. ## Response 200 fields (application/json): - `additional_fields` (array) These are additional fields that should be in the directory query, which will be available in the search results - `comment_options` (object) - `comment_options.comments_header_text` (string) The text shown in the header of the comments section - `comment_options.comments_instructions` (string) Instructions given to those submitting comments - `comment_options.comments_placeholder_text` (string) The placeholder text for the comments - `comment_options.enable_ratings` (boolean) If set, users can rate - `comment_options.hide_submitter_name` (boolean) If set, comment submitter names are hidden from the directory - `comment_options.leave_comment_button_text` (string) The button text for Leave Comment - `comment_options.max_rating` (number) The maximum rating - `comment_options.no_comments_text` (string) The text shown when no comments are present - `comment_options.rating_label` (string) The label for the rating - `comment_options.save_comment_button` (string) The button text for saving a comment - `custom_directory_entry_template` (string, required) - `custom_search_results_template` (string, required) - `custom_sort_fields` (array, required) - `custom_sort_fields.descending` (boolean) - `custom_sort_fields.name` (string, required) - `directory_entry_mode` (string) Enum: "custom", "do not show", "use default" - `display_mode` (string) The way that the directory should be displayed Enum: "list", "search" - `eligibility_criteria` (object, required) The criteria to use - `eligibility_criteria.advanced_rule_error_message` (string) The error message to show when the advanced rule fails - `eligibility_criteria.advanced_rules` (object) - `eligibility_criteria.age_restrictions` (object) - `eligibility_criteria.age_restrictions.maximum_age` (number) The maximum age of the contact - `eligibility_criteria.age_restrictions.minimum_age` (number) The minimum age of the contact - `eligibility_criteria.award_options` (object) - `eligibility_criteria.award_options.award_ids` (array) - `eligibility_criteria.award_options.award_type_ids` (array) - `eligibility_criteria.award_options.logic_operator` (string) Enum: "and", "not" - `eligibility_criteria.award_recipients` (boolean) If set, only people who have received awards - `eligibility_criteria.by_location` (boolean) If true, then filter by location - `eligibility_criteria.certificants` (boolean) If set, only people with specific certifications - `eligibility_criteria.certification_options` (object) - `eligibility_criteria.certification_options.program_ids` (array) - `eligibility_criteria.committee_member_options` (object) - `eligibility_criteria.committee_member_options.committee_ids` (array) - `eligibility_criteria.committee_member_options.committee_position_ids` (array) - `eligibility_criteria.committee_member_options.committee_type_ids` (array) - `eligibility_criteria.committee_members` (boolean) If set, active members who belong to a committee can purchase - `eligibility_criteria.custom_logic_options` (object) - `eligibility_criteria.custom_logic_options.lambda_function_id` (string, required) The custom lambda function to use - `eligibility_criteria.customer_type` (string) Enum: "contact", "organization" - `eligibility_criteria.donor_options` (object) - `eligibility_criteria.donor_options.donor_club_ids` (array) - `eligibility_criteria.donors` (boolean) If true, only donors - `eligibility_criteria.enable_advanced_rules` (boolean) Enable advanced JSON rules - `eligibility_criteria.enable_age_restrictions` (boolean) Age registrations - `eligibility_criteria.enable_custom_logic` (boolean) If set, the order engine will call out to a custom lambda function to process/change the order immediately after bundle expansion - `eligibility_criteria.enable_entitlement_restrictions` (boolean) If set, then you must have certain entitlements - `eligibility_criteria.enable_expression` (boolean) Whether or not to enable an expression for evaluation - `eligibility_criteria.enable_organization_restrictions` (boolean) If set, you can restrict organizations - `eligibility_criteria.enable_status_restriction` (boolean) If set, you can restrict by status - `eligibility_criteria.entitlement_restrictions` (array) - `eligibility_criteria.entitlement_restrictions.quantity` (number) The quantity you must have - `eligibility_criteria.entitlement_restrictions.type_id` (string, required) The type of entitlement - `eligibility_criteria.event_registration_options` (object) - `eligibility_criteria.event_registration_options.event_ids` (array) - `eligibility_criteria.event_registration_options.registration_category_ids` (array) - `eligibility_criteria.event_registrations` (boolean) If set, only people who have registered for events - `eligibility_criteria.expression` (string) The expression - `eligibility_criteria.expression_error_message` (string) The error message to show when the expression fails - `eligibility_criteria.location` (object) - `eligibility_criteria.location.countries` (array) Countries - `eligibility_criteria.location.negate_logic` (boolean) If true, the logic in this section is negated; so NOT from these places - `eligibility_criteria.member_options` (object) - `eligibility_criteria.member_options.chapter_member_options` (object) - `eligibility_criteria.member_options.chapter_member_options.chapter_ids` (array) - `eligibility_criteria.member_options.chapter_member_options.chapter_type_ids` (array) - `eligibility_criteria.member_options.chapter_members` (boolean) If set, active members who belong to a chapter can purchase - `eligibility_criteria.member_options.member_package_ids` (array) The member package - `eligibility_criteria.member_options.member_status_reason_ids` (array) - `eligibility_criteria.member_options.member_statuses` (array) Enum: "active", "inactive", "suspended" - `eligibility_criteria.member_options.member_type_ids` (array) The member types - `eligibility_criteria.member_options.section_member_options` (object) - `eligibility_criteria.member_options.section_member_options.section_ids` (array) - `eligibility_criteria.member_options.section_member_options.section_type_ids` (array) - `eligibility_criteria.member_options.section_members` (boolean) If set, active members who belong to a section can purchase - `eligibility_criteria.members` (boolean) If set, active members can purchase this - `eligibility_criteria.non_members` (boolean) If set, only nonmembers can purchase - `eligibility_criteria.organization_restrictions` (object) - `eligibility_criteria.organization_restrictions.contact_role_ids` (array) - `eligibility_criteria.organization_restrictions.organization_type_ids` (array) - `eligibility_criteria.status_restrictions` (array) The statuses - `eligibility_criteria.use_organization_for_eligibility` (boolean) If checked, a person's organization is used to check for eligibility, rather than the person themselves - `enable_comments` (boolean) If set, users are allowed to submit comments in the directory - `enable_custom_search_results_template` (boolean) If set, a custom search results template is displayed - `enable_custom_sorting` (boolean) If true, the directory results will be sorted differently that the query - `enable_eligibility_criteria` (boolean) If set, only certain people can access this directory - `enable_messaging` (boolean) When true, users are able to contact other users through the directory - `enable_query_expression_filter` (boolean) If set to true, an expression can be used to further filter the query - `enable_query_filter` (boolean) If set to true, the directory can display a subset of records based on the provided filter. If false, the default filter is used - `enable_radius_search` (boolean) If true, the user can search across zip code radius - `id` (string, required) The unique, string identifier of this directory - `is_active` (boolean) Whether or not this directory is active - `is_public` (boolean) If true, this is a public directory that can be accessed without security - `name` (string, required) The name of the directory - `page_size` (number) The page size, used for server side page and to combat scraping attacks - `query_filter_expression` (string, required) The expression to use to filter the directory - `query_filter_rules` (object) - `radius_search_options` (object, required) - `radius_search_options.postal_code_field` (string, required) The field to use as the basis for a radius search - `radius_search_options.radius_options` (array, required) The various default radius that can be selected - `refresh_period` (number) The period of time (in minutes) after which the directory should refresh it self - `searchable_fields` (array, required) The fields in the directory that are displayed as search criteria - `searchable_fields.group_name` (string) The group/display label - `searchable_fields.label` (string) The label that the field should be displayed - `searchable_fields.name` (string, required) The field name - `sys_bulk_load_at` (string) If this record was loaded via bulk, the timestamp when the record was processed - `sys_bulk_load_id` (string) If this record was loaded via bulk, the ID of the bulk load process - `sys_bulk_load_pk` (string) If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key - `sys_bulk_load_record_no` (number) If this record was loaded via bulk, the record number in the source file - `sys_bulk_load_source_file` (string) If this record was loaded via bulk, the source file - `sys_calculated_field_error` (string) The error associated with the calculated field - `sys_calculated_field_errors` (array) - `sys_calculated_field_errors.error` (string) - `sys_calculated_field_errors.field` (string) - `sys_configuration_snapshot_id` (string) If a snapshot was restored/applies to this record, the ID of the snapshot - `sys_created_at` (string, required) The date/time that this record was created, expressed in ISO-8601 date format - `sys_created_by_id` (string, required) The ID of the user that created this record - `sys_deleted_by_id` (string) The ID of the user that deleted (or last tried to delete) this object - `sys_directive` (string) Means for passing directive information into an object processing logic - `sys_external_id` (string) The ID that a record has from an external system or data import - `sys_has_files_in_s3` (boolean) If true, this record has files in S3. If false, it doesnt, so no need to hit S3 upon deletion - `sys_last_bulk_data_operation_id` (string) If this record was last touched by a bulk data operation, the ID of that operation - `sys_last_bulk_data_operation_sys_version` (string) If this record was last touched by a bulk data operation, the sys_version at the time of that operation - `sys_last_modified_at` (string, required) The date/time that this record record was last modified, expressed in ISO-8601 date format - `sys_last_modified_by_id` (string, required) The ID of the user that last modified this record - `sys_last_security_context` (object) The security context of the last insert, modify, or delete performed on this item - `sys_locked` (boolean) If set, this record is locked and cannot be changed via the API - `sys_snapshot_base_version` (number) The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox - `sys_version` (number) A number representing the version of this record in the database ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields ## Response 429 fields ## Response 500 fields