You need to register a post type to use it with the API. What you’re describing is similar to how the revision and nav menu post types behave. Set the public
argument to false
and the post type will have no administration UI, will be excluded from search, and not publicly queryable.