Directus Obj-C SDK — Objective-C Software Development Kit for iOS and MacOS
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Directus Logo

Directus Objective-C SDK

WebsiteDocsAPI ReferenceUser GuideDemoContribute


This codebase is a work-in-progress. The repo is here as a placeholder for anyone interested in contributing to the software development kit. Pull-requests and contributions are welcome!



API for

This ObjC package is automatically generated by the Swagger Codegen project:

  • API version: 1.1
  • Package version:
  • Build package: io.swagger.codegen.languages.ObjcClientCodegen


The SDK requires ARC (Automatic Reference Counting) to be enabled in the Xcode project.

Installation & Usage

Install from Github using CocoaPods

Add the following to the Podfile:

pod 'DircetusClient', :git => ''

To specify a particular branch, append , :branch => 'branch-name-here'

To specify a particular commit, append , :commit => '11aa22'

Install from local path using CocoaPods

Put the SDK under your project folder (e.g. /path/to/objc_project/Vendor/DircetusClient) and then add the following to the Podfile:

pod 'DircetusClient', :path => 'Vendor/DircetusClient'


Import the following:

#import <DircetusClient/DRCTSApiClient.h>
#import <DircetusClient/DRCTSDefaultConfiguration.h>
// load models
#import <DircetusClient/DRCTSGetActivity.h>
#import <DircetusClient/DRCTSGetActivityData.h>
#import <DircetusClient/DRCTSGetActivityMeta.h>
#import <DircetusClient/DRCTSGetBookmark.h>
#import <DircetusClient/DRCTSGetBookmarks.h>
#import <DircetusClient/DRCTSGetBookmarksData.h>
#import <DircetusClient/DRCTSGetBookmarksMeta.h>
#import <DircetusClient/DRCTSGetFile.h>
#import <DircetusClient/DRCTSGetFiles.h>
#import <DircetusClient/DRCTSGetFilesData.h>
#import <DircetusClient/DRCTSGetGroup.h>
#import <DircetusClient/DRCTSGetGroups.h>
#import <DircetusClient/DRCTSGetGroupsData.h>
#import <DircetusClient/DRCTSGetGroupsDataData.h>
#import <DircetusClient/DRCTSGetGroupsDataMeta.h>
#import <DircetusClient/DRCTSGetMessage.h>
#import <DircetusClient/DRCTSGetMessages.h>
#import <DircetusClient/DRCTSGetMessagesData.h>
#import <DircetusClient/DRCTSGetMessagesMeta.h>
#import <DircetusClient/DRCTSGetMessagesResponses.h>
#import <DircetusClient/DRCTSGetPreferences.h>
#import <DircetusClient/DRCTSGetPreferencesData.h>
#import <DircetusClient/DRCTSGetPrivileges.h>
#import <DircetusClient/DRCTSGetPrivilegesData.h>
#import <DircetusClient/DRCTSGetPrivilegesForTable.h>
#import <DircetusClient/DRCTSGetSettings.h>
#import <DircetusClient/DRCTSGetSettingsData.h>
#import <DircetusClient/DRCTSGetSettingsDataFiles.h>
#import <DircetusClient/DRCTSGetSettingsDataGlobal.h>
#import <DircetusClient/DRCTSGetSettingsFor.h>
#import <DircetusClient/DRCTSGetSettingsForMeta.h>
#import <DircetusClient/DRCTSGetTable.h>
#import <DircetusClient/DRCTSGetTableColumn.h>
#import <DircetusClient/DRCTSGetTableColumnData.h>
#import <DircetusClient/DRCTSGetTableColumns.h>
#import <DircetusClient/DRCTSGetTableColumnsData.h>
#import <DircetusClient/DRCTSGetTableData.h>
#import <DircetusClient/DRCTSGetTableRow.h>
#import <DircetusClient/DRCTSGetTableRows.h>
#import <DircetusClient/DRCTSGetTableRowsData.h>
#import <DircetusClient/DRCTSGetTableRowsMeta.h>
#import <DircetusClient/DRCTSGetTables.h>
#import <DircetusClient/DRCTSGetTablesData.h>
#import <DircetusClient/DRCTSGetTablesMeta.h>
// load API classes for accessing endpoints
#import <DircetusClient/DRCTSActivityApi.h>
#import <DircetusClient/DRCTSBookmarksApi.h>
#import <DircetusClient/DRCTSFilesApi.h>
#import <DircetusClient/DRCTSGroupsApi.h>
#import <DircetusClient/DRCTSMessagesApi.h>
#import <DircetusClient/DRCTSPreferencesApi.h>
#import <DircetusClient/DRCTSSettingsApi.h>
#import <DircetusClient/DRCTSTablesApi.h>
#import <DircetusClient/DRCTSUtilsApi.h>


It's recommended to create an instance of ApiClient per thread in a multi-threaded environment to avoid any potential issues.

Getting Started

Please follow the installation procedure and then run the following:

DRCTSDefaultConfiguration *apiConfig = [DRCTSDefaultConfiguration sharedConfig];

// Configure API key authorization: (authentication scheme: api_key)
[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"access_token"];
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
//[apiConfig setApiKeyPrefix:@"Bearer" forApiKeyIdentifier:@"access_token"];

[apiConfig setHost:@""];

DRCTSActivityApi *apiInstance = [[DRCTSActivityApi alloc] init];

// Returns activity
[apiInstance getActivityWithCompletionHandler: 
              ^(DRCTSGetActivity* output, NSError* error) {
                            if (output) {
                                NSLog(@"%@", output);
                            if (error) {
                                NSLog(@"Error: %@", error);

Documentation for API Endpoints

All URIs are relative to

Class Method HTTP request Description
DRCTSActivityApi getActivity GET /activity Returns activity
DRCTSBookmarksApi addBookmark POST /bookmarks Create a column in a given table
DRCTSBookmarksApi deleteBookmark DELETE /bookmarks/{bookmarkId} Deletes specific bookmark
DRCTSBookmarksApi getBookmark GET /bookmarks/{bookmarkId} Returns specific bookmark
DRCTSBookmarksApi getBookmarks GET /bookmarks Returns bookmarks
DRCTSBookmarksApi getBookmarksSelf GET /bookmarks/self Returns bookmarks of current user
DRCTSFilesApi createFile POST /files Creates file
DRCTSFilesApi getFile GET /files/{fileId} Returns specific file by id
DRCTSFilesApi getFiles GET /files Returns files
DRCTSFilesApi updateFile PUT /files/{fileId} Creates file
DRCTSGroupsApi addGroup POST /groups Add a new group
DRCTSGroupsApi addPrivilege POST /privileges/{groupId} Create new table privileges for the specified user group
DRCTSGroupsApi getGroup GET /groups/{groupId} Returns specific group
DRCTSGroupsApi getGroups GET /groups Returns groups
DRCTSGroupsApi getPrivileges GET /privileges/{groupId} Returns group privileges
DRCTSGroupsApi getPrivilegesForTable GET /privileges/{groupId}/{tableNameOrPrivilegeId} Returns group privileges by tableName
DRCTSGroupsApi updatePrivileges PUT /privileges/{groupId}/{tableNameOrPrivilegeId} Update privileges by privilegeId
DRCTSMessagesApi getMessage GET /messages/{messageId} Returns specific message
DRCTSMessagesApi getMessages GET /messages/self Returns messages
DRCTSPreferencesApi getPreferences GET /tables/{tableId}/preferences Returns table preferences
DRCTSPreferencesApi updatePreferences PUT /tables/{tableId}/preferences Update table preferences
DRCTSSettingsApi getSettings GET /settings Returns settings
DRCTSSettingsApi getSettingsFor GET /settings/{collectionName} Returns settings for collection
DRCTSSettingsApi updateSettings PUT /settings/{collectionName} Update settings
DRCTSTablesApi addColumn POST /tables/{tableId}/columns Create a column in a given table
DRCTSTablesApi addRow POST /tables/{tableId}/rows Add a new row
DRCTSTablesApi addTable POST /tables Add a new table
DRCTSTablesApi deleteColumn DELETE /tables/{tableId}/columns/{columnName} Delete row
DRCTSTablesApi deleteRow DELETE /tables/{tableId}/rows/{rowId} Delete row
DRCTSTablesApi deleteTable DELETE /tables/{tableId} Delete Table
DRCTSTablesApi getTable GET /tables/{tableId} Returns specific table
DRCTSTablesApi getTableColumn GET /tables/{tableId}/columns/{columnName} Returns specific table column
DRCTSTablesApi getTableColumns GET /tables/{tableId}/columns Returns table columns
DRCTSTablesApi getTableRow GET /tables/{tableId}/rows/{rowId} Returns specific table row
DRCTSTablesApi getTableRows GET /tables/{tableId}/rows Returns table rows
DRCTSTablesApi getTables GET /tables Returns tables
DRCTSTablesApi updateColumn PUT /tables/{tableId}/columns/{columnName} Update column
DRCTSTablesApi updateRow PUT /tables/{tableId}/rows/{rowId} Update row
DRCTSUtilsApi getHash POST /hash Get a hashed value
DRCTSUtilsApi getRandom POST /random Returns random alphanumeric string

Documentation For Models

Documentation For Authorization


  • Type: API key
  • API key parameter name: access_token
  • Location: URL query string


Directus is released under the GPLv3 license. RANGER Studio LLC owns all Directus trademarks and logos on behalf of our project's community. Copyright © 2006-2018, RANGER Studio LLC.