Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
EEUK 2013: ExpressionEngine's Missing API
Search
Ben Croker
May 17, 2013
Technology
0
4.4k
EEUK 2013: ExpressionEngine's Missing API
My talk at EEUK 2013 in which I introduce Open API.
Ben Croker
May 17, 2013
Tweet
Share
More Decks by Ben Croker
See All by Ben Croker
The Art Of Plugin Development
putyourlightson
0
950
GeeUp 2014: CMS+
putyourlightson
0
260
Craft CMS Summit 2014: Element Types & Plugin Development
putyourlightson
3
480
EECI 2012: With Great Power Comes Great Responsibility
putyourlightson
5
870
Other Decks in Technology
See All in Technology
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
950
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
210
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
540
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
850
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
2k
チーリンについて
hirotomotaguchi
6
2.1k
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
4
400
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
550
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
430
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
140
学習データって増やせばいいんですか?
ftakahashi
2
510
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
300
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
62
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Designing Powerful Visuals for Engaging Learning
tmiket
0
180
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
A designer walks into a library…
pauljervisheath
210
24k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
We Have a Design System, Now What?
morganepeng
54
7.9k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
87
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
200
Code Reviewing Like a Champion
maltzj
527
40k
Transcript
Ben Croker Lead Developer, Venveo Add-On Developer, PutYourLightsOn @ben_pylo expressionengine’s
missing api
None
None
None
None
None
None
None
Your First Day As The EE Pro
Task 1 News Dept.
Build a simple, mobile-friendly, publishing system for news articles “
“
None
safecracker form
None
?
Challenges Create new categories Update existing categories
Task 2 Sales Dept.
Build a task list system with commenting “ “
None
entry category
status
status title
status title delete
status title delete create
Challenges Update statuses and titles inline Delete entries Create new
entries on-the-fly
Task 3 Mobile App Dept.
Build an endpoint that can be queried for recently published
news articles “ “
Mobile App CMS Return articles in JSON format Request new
articles since last check
Challenges Request published entries based on specific time Speed and
performance Output entries in JSON format
Realisation ExpressionEngine’s CRUD Functionality is locked in the Control Panel
The only way OUT is with Templates The only way IN is with Safecracker
ExpressionEngine API Libraries EE2 Native Libraries Ellis Lab
ExpressionEngine API’s Used mainly for Creating, Updating and Deleting Limited
Retrieval Inconsistent Syntax Available in Back-end only
Channel Data Library Justin Kimbrell Objective HTML
Channel Data Library Retrieval of Content (Channels, Entries, Categories, ...)
Abstracted Methods Consistent Syntax Available in Back-end only
EE Data API Chris Imrie Moresoda
EE Data API CodeIgniter App Very Basic Retrieval of Channels
and Entries Available on Front-end
Entry API Rein de Vries Reinos.nl
Entry API CRUD Capability on Entries and Categories REST, XML-RPC
and SOAP Commercial Add-on Available on Front-end
Conclusion ExpressionEngine is missing a way of retrieving and modifying
content from outside the Control Panel
Introducing Open API
Open API CRUD Capability Free and Open Source Proper API
Docs Available on Front-end
Open API Capabilities Member Authentication C(reate) R(ead) U(pdate) D(elete): Channels,
Channel Entries, Categories, Category Groups, Members, ...
Open API Architecture HTTP GET & POST Requests JSON Responses
Authenticated Sessions Language Independent (PHP, JavaScript, CURL, AJAX,...)
Open API Open API Lib Channel Data Library Read Create/Update/Delete
Front-End Request JSON Response EE API Lib
Open API Docs h p://docs.eeopenapi.apiary.io
Demos
ExpressionEngine as a Platform Requires a paradigm shi in the
level of freedom and control we have over our content
Open API h ps://github.com/putyourlightson/open-api h p://docs.eeopenapi.apiary.io Ben Croker @ben_pylo