diff --git a/modules/forgefed/star.go b/modules/forgefed/star.go
new file mode 100644
index 0000000000..17bcd57aea
--- /dev/null
+++ b/modules/forgefed/star.go
@@ -0,0 +1,42 @@
+// Copyright 2023 The Forgejo Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package forgefed
+
+import (
+	ap "github.com/go-ap/activitypub"
+)
+
+type (
+	SourceType string
+)
+
+type SourceTypes []SourceType
+
+const (
+	StarType ap.ActivityVocabularyType = "Star"
+)
+
+const (
+	ForgejoSourceType SourceType = "frogejo"
+)
+
+var KnownSourceTypes = SourceTypes{
+	ForgejoSourceType,
+}
+
+type Star struct {
+	ap.Activity
+	// Source identifies the system generated this Activity. Exact one value has to be specified.
+	Source SourceType `jsonld:"source,omitempty"`
+}
+
+// RepositoryNew initializes a Repository type actor
+func StarNew(id ap.ID, ob ap.ID) *Star {
+	a := ap.ActivityNew(id, StarType, ob)
+	// TODO: is this not handeld by ActivityNew??
+	a.Type = StarType
+	o := Star{Activity: *a}
+	o.Source = ForgejoSourceType
+	return &o
+}
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index fd6234e686..43c90e136a 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -81,6 +81,7 @@ import (
 	"code.gitea.io/gitea/models/unit"
 	user_model "code.gitea.io/gitea/models/user"
 	"code.gitea.io/gitea/modules/context"
+	"code.gitea.io/gitea/modules/forgefed"
 	"code.gitea.io/gitea/modules/log"
 	"code.gitea.io/gitea/modules/setting"
 	api "code.gitea.io/gitea/modules/structs"
@@ -897,7 +898,8 @@ func Routes() *web.Route {
 				m.Group("/repository-id/{repository-id}", func() {
 					m.Get("", activitypub.Repository)
 					m.Post("/inbox",
-						bind(api.CreateRepoOption{}),
+						// TODO: bind ativities here
+						bind(forgefed.Star{}),
 						//activitypub.ReqHTTPSignature(),
 						activitypub.RepositoryInbox)
 				}, context_service.RepositoryIDAssignmentAPI())