<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="classroom_v1.html">Google Classroom API</a> . <a href="classroom_v1.registrations.html">registrations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#create">create(body, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a `Registration`, causing Classroom to start sending notifications</p>
<p class="toc_element">
  <code><a href="#delete">delete(registrationId, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes a `Registration`, causing Classroom to stop sending notifications</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="create">create(body, x__xgafv=None)</code>
  <pre>Creates a `Registration`, causing Classroom to start sending notifications
from the provided `feed` to the destination provided in `cloudPubSubTopic`.

Returns the created `Registration`. Currently, this will be the same as
the argument, but with server-assigned fields such as `expiry_time` and
`id` filled in.

Note that any value specified for the `expiry_time` or `id` fields will be
ignored.

While Classroom may validate the `cloudPubSubTopic` and return errors on a
best effort basis, it is the caller's responsibility to ensure that it
exists and that Classroom has permission to publish to it.

This method may return the following error codes:

* `PERMISSION_DENIED` if:
    * the authenticated user does not have permission to receive
      notifications from the requested field; or
    * the credential provided does not include the appropriate scope for
      the requested feed.
    * another access error is encountered.
* `INVALID_ARGUMENT` if:
    * no `cloudPubsubTopic` is specified, or the specified
      `cloudPubsubTopic` is not valid; or
    * no `feed` is specified, or the specified `feed` is not valid.
* `NOT_FOUND` if:
    * the specified `feed` cannot be located, or the requesting user does
      not have permission to determine whether or not it exists; or
    * the specified `cloudPubsubTopic` cannot be located, or Classroom has
      not been granted permission to publish to it.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # An instruction to Classroom to send notifications from the `feed` to the
      # provided destination.
    "feed": { # A class of notifications that an application can register to receive. # Specification for the class of notifications that Classroom should deliver
        # to the destination.
        # For example: "all roster changes for a domain".
      "feedType": "A String", # The type of feed.
      "courseWorkChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.
          # This field must be specified if `feed_type` is `COURSE_WORK_CHANGES`.
        "courseId": "A String", # The `course_id` of the course to subscribe to work changes for.
      },
      "courseRosterChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.
          # This field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`.
        "courseId": "A String", # The `course_id` of the course to subscribe to roster changes for.
      },
    },
    "registrationId": "A String", # A server-generated unique identifier for this `Registration`.
        # 
        # Read-only.
    "expiryTime": "A String", # The time until which the `Registration` is effective.
        # 
        # This is a read-only field assigned by the server.
    "cloudPubsubTopic": { # A reference to a Cloud Pub/Sub topic. # The Cloud Pub/Sub topic that notifications are to be sent to.
        #
        # To register for notifications, the owner of the topic must grant
        # `classroom-notifications@system.gserviceaccount.com` the
        #  `projects.topics.publish` permission.
      "topicName": "A String", # The `name` field of a Cloud Pub/Sub
          # [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
    },
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # An instruction to Classroom to send notifications from the `feed` to the
        # provided destination.
      "feed": { # A class of notifications that an application can register to receive. # Specification for the class of notifications that Classroom should deliver
          # to the destination.
          # For example: "all roster changes for a domain".
        "feedType": "A String", # The type of feed.
        "courseWorkChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.
            # This field must be specified if `feed_type` is `COURSE_WORK_CHANGES`.
          "courseId": "A String", # The `course_id` of the course to subscribe to work changes for.
        },
        "courseRosterChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.
            # This field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`.
          "courseId": "A String", # The `course_id` of the course to subscribe to roster changes for.
        },
      },
      "registrationId": "A String", # A server-generated unique identifier for this `Registration`.
          #
          # Read-only.
      "expiryTime": "A String", # The time until which the `Registration` is effective.
          #
          # This is a read-only field assigned by the server.
      "cloudPubsubTopic": { # A reference to a Cloud Pub/Sub topic. # The Cloud Pub/Sub topic that notifications are to be sent to.
          #
          # To register for notifications, the owner of the topic must grant
          # `classroom-notifications@system.gserviceaccount.com` the
          #  `projects.topics.publish` permission.
        "topicName": "A String", # The `name` field of a Cloud Pub/Sub
            # [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
      },
    }</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(registrationId, x__xgafv=None)</code>
  <pre>Deletes a `Registration`, causing Classroom to stop sending notifications
for that `Registration`.

Args:
  registrationId: string, The `registration_id` of the `Registration` to be deleted. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }</pre>
</div>

</body></html>