diff --git a/openrpc/types/types.go b/openrpc/types/types.go
index df2b5cbf925a99e81a65c35e1ec3ac2d21414a6b..83cf8caf823d42c3e8a3be2d292200bf355f5aa1 100644
--- a/openrpc/types/types.go
+++ b/openrpc/types/types.go
@@ -63,9 +63,10 @@ type Schema struct {
 }
 
 type Param struct {
-	Name     string `json:"name"`
-	Required bool   `json:"required"`
-	Schema   Schema `json:"schema"`
+	Name        string `json:"name"`
+	Description string `json:"description,omitempty"`
+	Required    bool   `json:"required"`
+	Schema      Schema `json:"schema"`
 }
 
 type Result struct {
@@ -74,10 +75,41 @@ type Result struct {
 }
 
 type Method struct {
-	Name    string  `json:"name"`
-	Summary string  `json:"summary"`
-	Params  []Param `json:"params"`
-	Result  Result  `json:"result"`
+	Name     string           `json:"name"`
+	Tags     []Tag            `json:"tags,omitempty"`
+	Summary  string           `json:"summary"`
+	Params   []Param          `json:"params"`
+	Result   Result           `json:"result"`
+	Examples []ExamplePairing `json:"examples,omitempty"`
+}
+
+type Tag struct {
+	Ref          string                `json:"$ref,omitempty"`
+	Name         string                `json:"name"`
+	Summary      string                `json:"summary,omitempty"`
+	Description  string                `json:"description,omitempty"`
+	ExternalDocs ExternalDocumentation `json:"externalDocs,omitempty"`
+}
+
+type ExternalDocumentation struct {
+	Description string `json:"description,omitempty"`
+	URL         string `json:"url"`
+}
+
+type ExamplePairing struct {
+	Name        string    `json:"name"`
+	Description string    `json:"description,omitempty"`
+	Summary     string    `json:"summary,omitempty"`
+	Params      []Example `json:"params"`
+	Result      Example   `json:"result"`
+}
+
+type Example struct {
+	Ref         string `json:"$ref,omitempty"`
+	Name        string `json:"name"`
+	Summary     string `json:"summary,omitempty"`
+	Description string `json:"description,omitempty"`
+	Value       any    `json:"value"`
 }
 
 func (m *Method) Namespace() string {