Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
0643fe4
Initial commit
Jul 11, 2023
92ecdc1
Draft definition
Jul 14, 2023
fff7d3d
Update indices in the User object
Jul 21, 2023
7dc5114
Update indices in the Regs object, to match Google changes
Jul 21, 2023
9163767
Modify indices for SupplyChain members
Jul 25, 2023
1b47868
Remove incorrect 'reserved' index
Jul 25, 2023
0725046
Update index for Content 'data'
Jul 25, 2023
c58cdc7
Update to proto3 syntax
Jul 25, 2023
51b8d7d
Restore $.content.videoquality to support users of OpenRTB 2.5
Jul 25, 2023
aa8b74b
Add Makefile to govern auto-generating code from the proto definitions
Aug 5, 2023
9e82622
Remove 'oneof' instructions not applicable to the keyword/kwarray use…
Aug 5, 2023
ab3e009
Add standard extensions
Aug 7, 2023
5bf946e
Indices for new fields agreed with Google
Aug 11, 2023
c2d7bdf
Indices for remaining new fields agreed with Google
Aug 23, 2023
4ae7e52
Align comments with OpebRTB specification
Sep 17, 2023
04b3bd8
Signal deprecation of extensions that are moved into the main spec
Sep 17, 2023
f1f3b94
Fix compile errors
Sep 17, 2023
f5296f0
Add 'acat'
simontrasler Sep 4, 2024
391e6de
Copy latest from https://github.com/IABTechLab/openrtb-proto-v2
simontrasler Mar 4, 2025
a10ab55
Temporarily remove standard extensions to avoid baking in a solution
simontrasler Mar 4, 2025
fcb90cc
Temporarily remove standard extensions to avoid baking in a solution
simontrasler Mar 4, 2025
a2e5a28
Revert to 80-column width, all fields 'optional'
simontrasler Mar 8, 2025
9c90bf1
Temporarily remove extensions
simontrasler Mar 8, 2025
a0f3d6f
Draft for discussion
simontrasler Mar 10, 2025
2cfe4ea
Add all community extensions
simontrasler Mar 22, 2025
a97e7b2
Add comments to closing braces for easier file navigation; add Intere…
simontrasler Mar 27, 2025
ce35563
Updated bid_response.ext.igi to be repeated.
Earthmark Apr 21, 2025
1aa50e0
Merge pull request #131 from Earthmark/patch-2
simontrasler Apr 22, 2025
68af17f
[Protobuf] bid_response.ext.(igb|igs): Removed oneof and added repeated
Earthmark Apr 22, 2025
453a577
[Protobuf] Fledge igi.pbs as value instead of string
Earthmark Apr 22, 2025
7264d74
Merge pull request #132 from Earthmark/patch-3
simontrasler Apr 25, 2025
80ebb8b
Merge pull request #133 from Earthmark/patch-4
simontrasler Apr 25, 2025
b24e567
Whitespace and line length fixes for openrtb.proto.
nthron Apr 25, 2025
807a5c0
Added a comment block about claiming an extension range.
Earthmark Apr 29, 2025
b588489
Extension documentation updates
Earthmark May 5, 2025
3c47b0a
Merge pull request #136 from Earthmark/patch-7
simontrasler May 5, 2025
e95a3e4
Merge pull request #134 from nthron/proto-whitespace
simontrasler May 5, 2025
a4b0b44
[Protobuf] The great flattening!
Earthmark May 9, 2025
d8651f8
Merge pull request #137 from Earthmark/patch-7
simontrasler May 9, 2025
d4fa2e7
Updates per offline discussion
simontrasler May 12, 2025
15fa1e5
Fixing a typo: Cotent to Content
nthron Jun 4, 2025
c7b9846
Merge pull request #151 from nthron/proto-editions
simontrasler Jul 21, 2025
e8f143f
Update the type of 'genres', per https://github.com/InteractiveAdvert…
simontrasler Sep 2, 2025
dc05157
Merge pull request #158 from InteractiveAdvertisingBureau/update-genr…
simontrasler Oct 2, 2025
3d0a46e
Move proto files under new directory 'proto' and add README.md
simontrasler Oct 31, 2025
3677351
Simplify code auto-generation to one language for faster getting started
simontrasler Oct 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions proto/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Build the docs for the proto3 definition.

LANGUAGES=java # cpp go csharp objc python ruby js

bindings:
for x in ${LANGUAGES}; do \
mkdir -p build/$${x}; \
protoc --proto_path src/main --$${x}_out=build/$${x} \
src/main/com/iabtechlab/openrtb/v2/openrtb.proto \
; \
done

check:
prototool lint

clean:
for x in ${LANGUAGES}; do \
rm -fr $${x}/*; \
done

docs:
mkdir -p build
podman run --rm \
-v ${PWD}/build:/out \
-v ${PWD}/src/main:/proto \
pseudomuto/protoc-gen-doc --doc_opt=html,doc.html --proto_path=/proto \
com/iabtechlab/openrtb/v2/openrtb.proto

watch:
fswatch -r ./src/ | xargs -n1 make docs
28 changes: 28 additions & 0 deletions proto/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Protocol Buffers specification

## About

Protocol Buffers is the standard binary encoding for OpenRTB. The
`openrtb.proto` definition included here is expected to be an exact
representation of the OpenRTB standard in Protocol Buffers. There are two
caveats:

1. OpenRTB contains several fields that take boolean values, though are
expressed as integers in JSON. They are expressed as booleans in Protocol
Buffers.
2. Enumerations are currently expressed as integers in both JSON and Protocol
Buffers. This is a holdover from using proto2 syntax, which did not support
the extensible enumerations used in OpenRTB. This may be changed in the future.
Meanwhile, code definitions for the standard enumerated values can be found at
https://github.com/IABTechLab/adcom-proto.

Updates are to be made to the standard and `openrtb.proto` in lockstep.

## How to get started

From the command line:

1. Install `make` and the latest version of `protoc`.
2. Open the `Makefile` and choose the language(s) for which the Protocol Buffers
object code should be generated.
3. Run `make`.
Loading