This is the documentation for the Overseerr API backend.
Two primary authentication methods are supported:
- Cookie Authentication: A valid sign-in to the
/auth/plex
or/auth/local
will generate a valid authentication cookie. - API Key Authentication: Sign-in is also possible by passing an
X-Api-Key
header along with a valid API Key generated by Overseerr.
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: v1.33.2
- Package version: 1.0.0
- Generator version: 7.10.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import overseerr "github.com/devopsarr/overseerr-go/overseerr"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value overseerr.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), overseerr.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value overseerr.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), overseerr.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified by "{classname}Service.{nickname}"
string.
Similar rules for overriding default operation server index and variables applies by using overseerr.ContextOperationServerIndices
and overseerr.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), overseerr.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), overseerr.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to http://localhost:5055/api/v1
Class | Method | HTTP request | Description |
---|---|---|---|
AuthAPI | CreateAuthLocal | Post /auth/local | Sign in using a local account |
AuthAPI | CreateAuthLogout | Post /auth/logout | Sign out and clear session cookie |
AuthAPI | CreateAuthPlex | Post /auth/plex | Sign in using a Plex token |
AuthAPI | GetAuthMe | Get /auth/me | Get logged-in user |
CollectionAPI | GetCollectionByCollectionId | Get /collection/{collectionId} | Get collection details |
IssueAPI | CreateIssue | Post /issue | Create new issue |
IssueAPI | CreateIssueByStatus | Post /issue/{issueId}/{status} | Update an issue's status |
IssueAPI | CreateIssueComment | Post /issue/{issueId}/comment | Create a comment |
IssueAPI | DeleteIssue | Delete /issue/{issueId} | Delete issue |
IssueAPI | DeleteIssueComment | Delete /issueComment/{commentId} | Delete issue comment |
IssueAPI | GetIssue | Get /issue | Get all issues |
IssueAPI | GetIssueByIssueId | Get /issue/{issueId} | Get issue |
IssueAPI | GetIssueCommentByCommentId | Get /issueComment/{commentId} | Get issue comment |
IssueAPI | GetIssueCount | Get /issue/count | Gets issue counts |
IssueAPI | UpdateIssueComment | Put /issueComment/{commentId} | Update issue comment |
MediaAPI | CreateMediaByStatus | Post /media/{mediaId}/{status} | Update media status |
MediaAPI | DeleteMedia | Delete /media/{mediaId} | Delete media item |
MediaAPI | GetMedia | Get /media | Get media |
MediaAPI | GetMediaWatchData | Get /media/{mediaId}/watch_data | Get watch data |
MoviesAPI | GetMovieByMovieId | Get /movie/{movieId} | Get movie details |
MoviesAPI | GetMovieRatings | Get /movie/{movieId}/ratings | Get movie ratings |
MoviesAPI | GetMovieRecommendations | Get /movie/{movieId}/recommendations | Get recommended movies |
MoviesAPI | GetMovieSimilar | Get /movie/{movieId}/similar | Get similar movies |
OtherAPI | GetKeywordByKeywordId | Get /keyword/{keywordId} | Get keyword |
OtherAPI | ListWatchprovidersMovies | Get /watchproviders/movies | Get watch provider movies |
OtherAPI | ListWatchprovidersRegions | Get /watchproviders/regions | Get watch provider regions |
OtherAPI | ListWatchprovidersTv | Get /watchproviders/tv | Get watch provider series |
PersonAPI | GetPersonByPersonId | Get /person/{personId} | Get person details |
PersonAPI | GetPersonCombinedCredits | Get /person/{personId}/combined_credits | Get combined credits |
PublicAPI | GetStatus | Get /status | Get Overseerr status |
PublicAPI | GetStatusAppdata | Get /status/appdata | Get application data volume status |
RequestAPI | CreateRequest | Post /request | Create new request |
RequestAPI | CreateRequestByStatus | Post /request/{requestId}/{status} | Update a request's status |
RequestAPI | CreateRequestRetry | Post /request/{requestId}/retry | Retry failed request |
RequestAPI | DeleteRequest | Delete /request/{requestId} | Delete request |
RequestAPI | GetRequest | Get /request | Get all requests |
RequestAPI | GetRequestByRequestId | Get /request/{requestId} | Get MediaRequest |
RequestAPI | GetRequestCount | Get /request/count | Gets request counts |
RequestAPI | UpdateRequest | Put /request/{requestId} | Update MediaRequest |
SearchAPI | GetDiscoverKeywordMovies | Get /discover/keyword/{keywordId}/movies | Get movies from keyword |
SearchAPI | GetDiscoverMovies | Get /discover/movies | Discover movies |
SearchAPI | GetDiscoverMoviesGenreByGenreId | Get /discover/movies/genre/{genreId} | Discover movies by genre |
SearchAPI | GetDiscoverMoviesLanguageByLanguage | Get /discover/movies/language/{language} | Discover movies by original language |
SearchAPI | GetDiscoverMoviesStudioByStudioId | Get /discover/movies/studio/{studioId} | Discover movies by studio |
SearchAPI | GetDiscoverMoviesUpcoming | Get /discover/movies/upcoming | Upcoming movies |
SearchAPI | GetDiscoverTrending | Get /discover/trending | Trending movies and TV |
SearchAPI | GetDiscoverTv | Get /discover/tv | Discover TV shows |
SearchAPI | GetDiscoverTvGenreByGenreId | Get /discover/tv/genre/{genreId} | Discover TV shows by genre |
SearchAPI | GetDiscoverTvLanguageByLanguage | Get /discover/tv/language/{language} | Discover TV shows by original language |
SearchAPI | GetDiscoverTvNetworkByNetworkId | Get /discover/tv/network/{networkId} | Discover TV shows by network |
SearchAPI | GetDiscoverTvUpcoming | Get /discover/tv/upcoming | Discover Upcoming TV shows |
SearchAPI | GetDiscoverWatchlist | Get /discover/watchlist | Get the Plex watchlist. |
SearchAPI | GetSearch | Get /search | Search for movies, TV shows, or people |
SearchAPI | GetSearchCompany | Get /search/company | Search for companies |
SearchAPI | GetSearchKeyword | Get /search/keyword | Search for keywords |
SearchAPI | ListDiscoverGenresliderMovie | Get /discover/genreslider/movie | Get genre slider data for movies |
SearchAPI | ListDiscoverGenresliderTv | Get /discover/genreslider/tv | Get genre slider data for TV series |
ServiceAPI | GetServiceRadarrByRadarrId | Get /service/radarr/{radarrId} | Get Radarr server quality profiles and root folders |
ServiceAPI | GetServiceSonarrBySonarrId | Get /service/sonarr/{sonarrId} | Get Sonarr server quality profiles and root folders |
ServiceAPI | ListServiceRadarr | Get /service/radarr | Get non-sensitive Radarr server list |
ServiceAPI | ListServiceSonarr | Get /service/sonarr | Get non-sensitive Sonarr server list |
ServiceAPI | ListServiceSonarrLookupByTmdbId | Get /service/sonarr/lookup/{tmdbId} | Get series from Sonarr |
SettingsAPI | CreateCacheFlush | Post /settings/cache/{cacheId}/flush | Flush a specific cache |
SettingsAPI | CreateDiscover | Post /settings/discover | Batch update all sliders. |
SettingsAPI | CreateDiscoverAdd | Post /settings/discover/add | Add a new slider |
SettingsAPI | CreateInitialize | Post /settings/initialize | Initialize application |
SettingsAPI | CreateJobsCancel | Post /settings/jobs/{jobId}/cancel | Cancel a specific job |
SettingsAPI | CreateJobsRun | Post /settings/jobs/{jobId}/run | Invoke a specific job |
SettingsAPI | CreateJobsSchedule | Post /settings/jobs/{jobId}/schedule | Modify job schedule |
SettingsAPI | CreateMain | Post /settings/main | Update main settings |
SettingsAPI | CreateMainRegenerate | Post /settings/main/regenerate | Get main settings with newly-generated API key |
SettingsAPI | CreateNotificationsDiscord | Post /settings/notifications/discord | Update Discord notification settings |
SettingsAPI | CreateNotificationsEmail | Post /settings/notifications/email | Update email notification settings |
SettingsAPI | CreateNotificationsGotify | Post /settings/notifications/gotify | Update Gotify notification settings |
SettingsAPI | CreateNotificationsLunasea | Post /settings/notifications/lunasea | Update LunaSea notification settings |
SettingsAPI | CreateNotificationsPushbullet | Post /settings/notifications/pushbullet | Update Pushbullet notification settings |
SettingsAPI | CreateNotificationsPushover | Post /settings/notifications/pushover | Update Pushover notification settings |
SettingsAPI | CreateNotificationsSlack | Post /settings/notifications/slack | Update Slack notification settings |
SettingsAPI | CreateNotificationsTelegram | Post /settings/notifications/telegram | Update Telegram notification settings |
SettingsAPI | CreateNotificationsWebhook | Post /settings/notifications/webhook | Update webhook notification settings |
SettingsAPI | CreateNotificationsWebpush | Post /settings/notifications/webpush | Update Web Push notification settings |
SettingsAPI | CreatePlex | Post /settings/plex | Update Plex settings |
SettingsAPI | CreatePlexSync | Post /settings/plex/sync | Start full Plex library scan |
SettingsAPI | CreateRadarr | Post /settings/radarr | Create Radarr instance |
SettingsAPI | CreateSonarr | Post /settings/sonarr | Create Sonarr instance |
SettingsAPI | CreateTautulli | Post /settings/tautulli | Update Tautulli settings |
SettingsAPI | DeleteDiscover | Delete /settings/discover/{sliderId} | Delete slider by ID |
SettingsAPI | DeleteRadarr | Delete /settings/radarr/{radarrId} | Delete Radarr instance |
SettingsAPI | DeleteSonarr | Delete /settings/sonarr/{sonarrId} | Delete Sonarr instance |
SettingsAPI | GetAbout | Get /settings/about | Get server stats |
SettingsAPI | GetCache | Get /settings/cache | Get a list of active caches |
SettingsAPI | GetDiscoverReset | Get /settings/discover/reset | Reset all discover sliders |
SettingsAPI | GetMain | Get /settings/main | Get main settings |
SettingsAPI | GetNotificationsDiscord | Get /settings/notifications/discord | Get Discord notification settings |
SettingsAPI | GetNotificationsEmail | Get /settings/notifications/email | Get email notification settings |
SettingsAPI | GetNotificationsGotify | Get /settings/notifications/gotify | Get Gotify notification settings |
SettingsAPI | GetNotificationsLunasea | Get /settings/notifications/lunasea | Get LunaSea notification settings |
SettingsAPI | GetNotificationsPushbullet | Get /settings/notifications/pushbullet | Get Pushbullet notification settings |
SettingsAPI | GetNotificationsPushover | Get /settings/notifications/pushover | Get Pushover notification settings |
SettingsAPI | GetNotificationsSlack | Get /settings/notifications/slack | Get Slack notification settings |
SettingsAPI | GetNotificationsTelegram | Get /settings/notifications/telegram | Get Telegram notification settings |
SettingsAPI | GetNotificationsWebhook | Get /settings/notifications/webhook | Get webhook notification settings |
SettingsAPI | GetNotificationsWebpush | Get /settings/notifications/webpush | Get Web Push notification settings |
SettingsAPI | GetPlex | Get /settings/plex | Get Plex settings |
SettingsAPI | GetPlexSync | Get /settings/plex/sync | Get status of full Plex library scan |
SettingsAPI | GetPublic | Get /settings/public | Get public settings |
SettingsAPI | GetTautulli | Get /settings/tautulli | Get Tautulli settings |
SettingsAPI | ListDiscover | Get /settings/discover | Get all discover sliders |
SettingsAPI | ListJobs | Get /settings/jobs | Get scheduled jobs |
SettingsAPI | ListLogs | Get /settings/logs | Returns logs |
SettingsAPI | ListPlexDevicesServers | Get /settings/plex/devices/servers | Gets the user's available Plex servers |
SettingsAPI | ListPlexLibrary | Get /settings/plex/library | Get Plex libraries |
SettingsAPI | ListPlexUsers | Get /settings/plex/users | Get Plex users |
SettingsAPI | ListRadarr | Get /settings/radarr | Get Radarr settings |
SettingsAPI | ListRadarrProfiles | Get /settings/radarr/{radarrId}/profiles | Get available Radarr profiles |
SettingsAPI | ListSonarr | Get /settings/sonarr | Get Sonarr settings |
SettingsAPI | TestNotificationsDiscord | Post /settings/notifications/discord/test | Test Discord settings |
SettingsAPI | TestNotificationsEmail | Post /settings/notifications/email/test | Test email settings |
SettingsAPI | TestNotificationsGotify | Post /settings/notifications/gotify/test | Test Gotify settings |
SettingsAPI | TestNotificationsLunasea | Post /settings/notifications/lunasea/test | Test LunaSea settings |
SettingsAPI | TestNotificationsPushbullet | Post /settings/notifications/pushbullet/test | Test Pushbullet settings |
SettingsAPI | TestNotificationsPushover | Post /settings/notifications/pushover/test | Test Pushover settings |
SettingsAPI | TestNotificationsSlack | Post /settings/notifications/slack/test | Test Slack settings |
SettingsAPI | TestNotificationsTelegram | Post /settings/notifications/telegram/test | Test Telegram settings |
SettingsAPI | TestNotificationsWebhook | Post /settings/notifications/webhook/test | Test webhook settings |
SettingsAPI | TestNotificationsWebpush | Post /settings/notifications/webpush/test | Test Web Push settings |
SettingsAPI | TestRadarr | Post /settings/radarr/test | Test Radarr configuration |
SettingsAPI | TestSonarr | Post /settings/sonarr/test | Test Sonarr configuration |
SettingsAPI | UpdateDiscover | Put /settings/discover/{sliderId} | Update a single slider |
SettingsAPI | UpdateRadarr | Put /settings/radarr/{radarrId} | Update Radarr instance |
SettingsAPI | UpdateSonarr | Put /settings/sonarr/{sonarrId} | Update Sonarr instance |
TmdbAPI | GetNetworkByNetworkId | Get /network/{networkId} | Get TV network details |
TmdbAPI | GetStudioByStudioId | Get /studio/{studioId} | Get movie studio details |
TmdbAPI | ListBackdrops | Get /backdrops | Get backdrops of trending items |
TmdbAPI | ListGenresMovie | Get /genres/movie | Get list of official TMDB movie genres |
TmdbAPI | ListGenresTv | Get /genres/tv | Get list of official TMDB movie genres |
TmdbAPI | ListLanguages | Get /languages | Languages supported by TMDB |
TmdbAPI | ListRegions | Get /regions | Regions supported by TMDB |
TvAPI | GetTvByTvId | Get /tv/{tvId} | Get TV details |
TvAPI | GetTvRatings | Get /tv/{tvId}/ratings | Get TV ratings |
TvAPI | GetTvRecommendations | Get /tv/{tvId}/recommendations | Get recommended TV series |
TvAPI | GetTvSeasonBySeasonId | Get /tv/{tvId}/season/{seasonId} | Get season details and episode list |
TvAPI | GetTvSimilar | Get /tv/{tvId}/similar | Get similar TV series |
UsersAPI | CreateAuthResetPassword | Post /auth/reset-password | Send a reset password email |
UsersAPI | CreateAuthResetPasswordByGuid | Post /auth/reset-password/{guid} | Reset the password for a user |
UsersAPI | CreateUser | Post /user | Create new user |
UsersAPI | CreateUserImportFromPlex | Post /user/import-from-plex | Import all users from Plex |
UsersAPI | CreateUserRegisterPushSubscription | Post /user/registerPushSubscription | Register a web push /user/registerPushSubscription |
UsersAPI | CreateUserSettingsMain | Post /user/{userId}/settings/main | Update general settings for a user |
UsersAPI | CreateUserSettingsNotifications | Post /user/{userId}/settings/notifications | Update notification settings for a user |
UsersAPI | CreateUserSettingsPassword | Post /user/{userId}/settings/password | Update password for a user |
UsersAPI | CreateUserSettingsPermissions | Post /user/{userId}/settings/permissions | Update permission settings for a user |
UsersAPI | DeleteUser | Delete /user/{userId} | Delete user by ID |
UsersAPI | GetUser | Get /user | Get all users |
UsersAPI | GetUserByUserId | Get /user/{userId} | Get user by ID |
UsersAPI | GetUserQuota | Get /user/{userId}/quota | Get quotas for a specific user |
UsersAPI | GetUserRequests | Get /user/{userId}/requests | Get requests for a specific user |
UsersAPI | GetUserSettingsMain | Get /user/{userId}/settings/main | Get general settings for a user |
UsersAPI | GetUserSettingsNotifications | Get /user/{userId}/settings/notifications | Get notification settings for a user |
UsersAPI | GetUserSettingsPassword | Get /user/{userId}/settings/password | Get password page informatiom |
UsersAPI | GetUserSettingsPermissions | Get /user/{userId}/settings/permissions | Get permission settings for a user |
UsersAPI | GetUserWatchData | Get /user/{userId}/watch_data | Get watch data |
UsersAPI | GetUserWatchlist | Get /user/{userId}/watchlist | Get the Plex watchlist for a specific user |
UsersAPI | PutUser | Put /user | Update batch of users |
UsersAPI | UpdateUser | Put /user/{userId} | Update a user by user ID |
- Cast
- Collection
- Company
- CreateAuthLocalRequest
- CreateAuthLogout2XXResponse
- CreateAuthPlexRequest
- CreateAuthResetPasswordByGuidRequest
- CreateAuthResetPasswordRequest
- CreateDiscoverAddRequest
- CreateIssueCommentRequest
- CreateIssueRequest
- CreateJobsScheduleRequest
- CreateMediaByStatusRequest
- CreatePlexSyncRequest
- CreateRequestRequest
- CreateRequestRequestSeasons
- CreateUserImportFromPlexRequest
- CreateUserRegisterPushSubscriptionRequest
- CreateUserRequest
- CreateUserSettingsMainRequest
- CreateUserSettingsPasswordRequest
- CreateUserSettingsPermissionsRequest
- CreditCast
- CreditCrew
- Crew
- DiscordSettings
- DiscordSettingsOptions
- DiscoverSlider
- Episode
- ExternalIds
- Genre
- GetAbout2XXResponse
- GetCache2XXResponse
- GetCache2XXResponseApiCachesInner
- GetCache2XXResponseApiCachesInnerStats
- GetCache2XXResponseImageCache
- GetCache2XXResponseImageCacheTmdb
- GetDiscoverMovies2XXResponse
- GetDiscoverMoviesGenreByGenreId2XXResponse
- GetDiscoverMoviesLanguageByLanguage2XXResponse
- GetDiscoverMoviesStudioByStudioId2XXResponse
- GetDiscoverTv2XXResponse
- GetDiscoverTvGenreByGenreId2XXResponse
- GetDiscoverTvLanguageByLanguage2XXResponse
- GetDiscoverTvNetworkByNetworkId2XXResponse
- GetIssue2XXResponse
- GetIssueCount2XXResponse
- GetMedia2XXResponse
- GetMediaWatchData2XXResponse
- GetMediaWatchData2XXResponseData
- GetMovieRatings2XXResponse
- GetPersonCombinedCredits2XXResponse
- GetPlexSync2XXResponse
- GetRequestCount2XXResponse
- GetSearch2XXResponse
- GetSearch2XXResponseResultsInner
- GetSearchCompany2XXResponse
- GetSearchKeyword2XXResponse
- GetServiceRadarrByRadarrId2XXResponse
- GetServiceSonarrBySonarrId2XXResponse
- GetStatus2XXResponse
- GetStatusAppdata2XXResponse
- GetTvRatings2XXResponse
- GetUser2XXResponse
- GetUserQuota2XXResponse
- GetUserQuota2XXResponseMovie
- GetUserRequests2XXResponse
- GetUserSettingsMain2XXResponse
- GetUserSettingsPassword2XXResponse
- GetUserSettingsPermissions2XXResponse
- GetUserWatchData2XXResponse
- GetUserWatchlist2XXResponse
- GetUserWatchlist2XXResponseResultsInner
- GotifySettings
- GotifySettingsOptions
- Issue
- IssueComment
- Job
- Keyword
- ListDiscoverGenresliderMovie2XXResponseInner
- ListGenresMovie2XXResponseInner
- ListGenresTv2XXResponseInner
- ListLanguages2XXResponseInner
- ListLogs2XXResponseInner
- ListPlexUsers2XXResponseInner
- ListRegions2XXResponseInner
- LunaSeaSettings
- LunaSeaSettingsOptions
- MainSettings
- MediaInfo
- MediaRequest
- MediaRequestModifiedBy
- MovieDetails
- MovieDetailsCollection
- MovieDetailsCredits
- MovieDetailsProductionCountriesInner
- MovieDetailsReleases
- MovieDetailsReleasesResultsInner
- MovieDetailsReleasesResultsInnerReleaseDatesInner
- MovieResult
- Network
- NotificationAgentTypes
- NotificationEmailSettings
- NotificationEmailSettingsOptions
- PageInfo
- PersonDetails
- PersonResult
- PersonResultKnownForInner
- PlexConnection
- PlexDevice
- PlexLibrary
- PlexSettings
- ProductionCompany
- PublicSettings
- PushbulletSettings
- PushbulletSettingsOptions
- PushoverSettings
- PushoverSettingsOptions
- PutUserRequest
- RadarrSettings
- RelatedVideo
- Season
- ServarrTag
- ServiceProfile
- SlackSettings
- SlackSettingsOptions
- SonarrSeries
- SonarrSeriesAddOptionsInner
- SonarrSeriesImagesInner
- SonarrSeriesRatingsInner
- SonarrSeriesSeasonsInner
- SonarrSettings
- SpokenLanguage
- TautulliSettings
- TelegramSettings
- TelegramSettingsOptions
- TestRadarr2XXResponse
- TestRadarrRequest
- TestSonarrRequest
- TvDetails
- TvDetailsContentRatings
- TvDetailsContentRatingsResultsInner
- TvDetailsCreatedByInner
- TvResult
- UpdateDiscoverRequest
- UpdateIssueCommentRequest
- UpdateRequestRequest
- User
- UserSettings
- UserSettingsNotifications
- WatchProviderDetails
- WatchProviderRegion
- WatchProvidersInner
- WebPushSettings
- WebhookSettings
- WebhookSettingsOptions
Authentication schemes defined for the API:
- Type: API key
- API key parameter name: connect.sid
- Location:
Note, each API key must be added to a map of map[string]APIKey
where the key is: cookieAuth and passed in as the auth context for each request.
Example
auth := context.WithValue(
context.Background(),
overseerr.ContextAPIKeys,
map[string]overseerr.APIKey{
"cookieAuth": {Key: "API_KEY_STRING"},
},
)
r, err := client.Service.Operation(auth, args)
- Type: API key
- API key parameter name: X-Api-Key
- Location: HTTP header
Note, each API key must be added to a map of map[string]APIKey
where the key is: apiKey and passed in as the auth context for each request.
Example
auth := context.WithValue(
context.Background(),
overseerr.ContextAPIKeys,
map[string]overseerr.APIKey{
"apiKey": {Key: "API_KEY_STRING"},
},
)
r, err := client.Service.Operation(auth, args)
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime