code: func (rec *Recording) UnmarshalJSON(data []byte) error {
  	var raw jsonRecording
  	if err := json.Unmarshal(data, &raw); err != nil {
  		return err
  	}
  	createdAt, err := time.Parse(time.RFC3339, raw.CreatedAt)
  	if err != nil {
  		return fmt.Errorf("unable to parse Recording CreatedAt: %v", err)
  	}
  	updatedAt, err := time.Parse(time.RFC3339, raw.UpdatedAt)
  	if err != nil {
  		return fmt.Errorf("unable to parse Recording UpdatedAt: %v", err)
  	}
  	*rec = Recording{
  		ID:        raw.ID,
  		Format:    raw.Format,
  		LegID:     raw.LegID,
  		Status:    RecordingStatus(raw.Status),
  		Duration:  time.Second * time.Duration(raw.Duration),
  		CreatedAt: createdAt,
  		UpdatedAt: updatedAt,
  		links:     raw.Links,
  	}
  	return nil
  }
docs: // UnmarshalJSON implements the json.Unmarshaler interface.