{"apiVersion":"1.0","apis":[{"path":"/auth/credential","operations":[{"apiStatus":{"description":"Stable production version","value":"PRODUCTION"},"httpMethod":"POST","parameters":[{"dataType":"auth.ApiCredentialRequestParams","paramType":"body","fullType":"auth.ApiCredentialRequestParams","required":true,"description":"Request Body"}],"responseType":"auth.ApiCredentialRequest","responseTypes":{"200":"auth.ApiCredentialRequest"},"noAuthentication":true,"description":"Request a new credential for your application"}],"description":"Request a new credential for your application"},{"path":"/auth/currentCredential","operations":[{"apiStatus":{"description":"Stable production version","value":"PRODUCTION"},"httpMethod":"GET","parameters":[],"responseType":"auth.ApiCredential","responseTypes":{"200":"auth.ApiCredential"},"noAuthentication":false,"description":"Get the current credential details"}],"description":"Get the current credential details"},{"path":"/auth/details","operations":[{"apiStatus":{"description":"Stable production version","value":"PRODUCTION"},"httpMethod":"GET","parameters":[],"responseType":"auth.Details","responseTypes":{"200":"auth.Details"},"noAuthentication":false,"description":"Details about the current authentication"}],"description":"Details about the current authentication"},{"path":"/auth/logout","operations":[{"apiStatus":{"description":"Stable production version","value":"PRODUCTION"},"httpMethod":"POST","parameters":[],"responseType":"void","responseTypes":{"200":"void"},"noAuthentication":false,"description":"Expire current credential"}],"description":"Expire current credential"},{"path":"/auth/time","operations":[{"apiStatus":{"description":"Stable production version","value":"PRODUCTION"},"httpMethod":"GET","parameters":[],"responseType":"long","responseTypes":{"200":"long"},"noAuthentication":true,"description":"Get the current time of the OVH servers, since UNIX epoch"}],"description":"Get the current time of the OVH servers, since UNIX epoch"},{"path":"/auth/token","operations":[{"apiStatus":{"description":"Stable production version","value":"PRODUCTION"},"httpMethod":"POST","parameters":[],"responseType":"auth.Token","responseTypes":{"200":"auth.Token"},"noAuthentication":false,"description":"Generate a one-time token to authenticate on OVHcloud's applications (only supported by chatbot for the moment)"}],"description":"Generate a one-time token to authenticate on OVHcloud's applications (only supported by chatbot for the moment)"}],"resourcePath":"/auth","basePath":"https://eu.api.ovh.com/1.0","models":{"api.Credential":{"id":"Credential","namespace":"api","description":"API Credential","properties":{"allowedIPs":{"type":"ipBlock[]","fullType":"ipBlock[]","canBeNull":true,"readOnly":false,"description":"If defined, list of ip blocks which are allowed to call API with this credential","required":false},"applicationId":{"type":"long","fullType":"long","canBeNull":false,"readOnly":true,"required":false},"creation":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"required":false},"credentialId":{"type":"long","fullType":"long","canBeNull":false,"readOnly":true,"required":false},"expiration":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"required":false},"lastUse":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"required":false},"ovhSupport":{"type":"boolean","fullType":"boolean","canBeNull":false,"readOnly":true,"description":"States whether this credential has been created by yourself or by the OVH support team","required":false},"rules":{"type":"auth.AccessRule[]","fullType":"auth.AccessRule[]","canBeNull":false,"readOnly":true,"required":false},"status":{"type":"auth.CredentialStateEnum","fullType":"auth.CredentialStateEnum","canBeNull":false,"readOnly":true,"required":false}}},"auth.AccessRule":{"id":"AccessRule","namespace":"auth","description":"Access rule allowed to an application","properties":{"method":{"type":"auth.HTTPMethodEnum","fullType":"auth.HTTPMethodEnum","canBeNull":false,"readOnly":true,"description":"Allowed Method","required":false},"path":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Allowed path","required":false}}},"auth.AccessRuleRequest":{"id":"AccessRuleRequest","namespace":"auth","description":"Access rule requested for the application","properties":{"method":{"type":"auth.HTTPMethodEnum","fullType":"auth.HTTPMethodEnum","canBeNull":false,"readOnly":false,"description":"Allowed Method","required":false},"path":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"Allowed path","required":false}}},"auth.ApiApplication":{"id":"ApiApplication","namespace":"auth","description":"API Application","properties":{"applicationId":{"type":"long","fullType":"long","canBeNull":false,"readOnly":true,"description":"ID of this Application","required":false},"applicationKey":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Key of this application","required":false},"description":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Description of this application","required":false},"name":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Name of this application","required":false},"status":{"type":"auth.ApplicationStatusEnum","fullType":"auth.ApplicationStatusEnum","canBeNull":false,"readOnly":true,"description":"Status of this application","required":false}}},"auth.ApiCredential":{"id":"ApiCredential","namespace":"auth","description":"API Credential","properties":{"allowedIPs":{"type":"ipBlock[]","fullType":"ipBlock[]","canBeNull":true,"readOnly":false,"description":"If defined, list of ip blocks which are allowed to call API with this credential","required":false},"applicationId":{"type":"long","fullType":"long","canBeNull":false,"readOnly":true,"description":"ID of associated API Application","required":false},"creation":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Creation date of this credential","required":false},"credentialId":{"type":"long","fullType":"long","canBeNull":false,"readOnly":true,"description":"ID of this credential","required":false},"expiration":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"description":"Expiration date of this credential","required":false},"lastUse":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"description":"Last use date of this credential","required":false},"ovhSupport":{"type":"boolean","fullType":"boolean","canBeNull":false,"readOnly":true,"description":"States whether this credential has been created by yourself or by the OVH support team","required":false},"rules":{"type":"auth.AccessRule[]","fullType":"auth.AccessRule[]","canBeNull":false,"readOnly":true,"description":"API routes allowed to this credential","required":false},"status":{"type":"auth.CredentialStateEnum","fullType":"auth.CredentialStateEnum","canBeNull":false,"readOnly":true,"description":"State of to this credential","required":false}}},"auth.ApiCredentialRequest":{"id":"ApiCredentialRequest","namespace":"auth","description":"Credential request to get access to the API","properties":{"consumerKey":{"type":"password","fullType":"password","canBeNull":false,"readOnly":true,"description":"Consumer Key to use for further authenticated calls","required":false},"state":{"type":"auth.CredentialStateEnum","fullType":"auth.CredentialStateEnum","canBeNull":false,"readOnly":true,"description":"State of the credential","required":false},"validationUrl":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Address where to redirect the client to validate the access","required":false}}},"auth.ApiCredentialRequestParams":{"id":"ApiCredentialRequestParams","namespace":"auth","description":"Credential request to get access to the API","properties":{"accessRules":{"type":"auth.AccessRuleRequest[]","fullType":"auth.AccessRuleRequest[]","canBeNull":false,"readOnly":false,"description":"Wanted API routes","required":true},"allowedIPs":{"type":"ipBlock[]","fullType":"ipBlock[]","canBeNull":true,"readOnly":false,"description":"If defined, list of IP blocks that can use the credential","required":false},"redirection":{"type":"string","fullType":"string","canBeNull":true,"readOnly":false,"description":"Address where the customer will be redirected after authentication","required":false}}},"auth.ApplicationStatusEnum":{"id":"ApplicationStatusEnum","namespace":"auth","description":"All states an API Application can be in","enum":["active","blocked","inactive","trusted"],"enumType":"string"},"auth.Certificate":{"id":"Certificate","namespace":"auth","description":"X509 Certificate","properties":{"expiration":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Certificate's expiration","required":false},"subject":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Certificate's subject","required":false}}},"auth.Credential":{"id":"Credential","namespace":"auth","description":"Credential request to get access to the API","properties":{"consumerKey":{"type":"string","canBeNull":false,"readOnly":false,"required":false},"state":{"type":"auth.CredentialStateEnum","canBeNull":false,"readOnly":false,"required":false},"validationUrl":{"type":"string","canBeNull":true,"readOnly":false,"required":false}}},"auth.CredentialStateEnum":{"id":"CredentialStateEnum","namespace":"auth","description":"All states a Credential can be in","enum":["expired","pendingValidation","refused","validated"],"enumType":"string"},"auth.Details":{"id":"Details","namespace":"auth","description":"Details about the authentication used","properties":{"account":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Customer identifier","required":false},"allowedRoutes":{"type":"auth.AccessRule[]","fullType":"auth.AccessRule[]","canBeNull":true,"readOnly":true,"description":"Allowed API routes, null means everything","required":false},"description":{"type":"string","fullType":"string","canBeNull":true,"readOnly":true,"description":"Description of the authenticated identity","required":false},"identities":{"type":"string[]","fullType":"string[]","canBeNull":false,"readOnly":true,"description":"Identities of the current session: corresponds to all the authentication provider identities that could be used to match IAM policies","required":false},"method":{"type":"auth.MethodEnum","fullType":"auth.MethodEnum","canBeNull":false,"readOnly":true,"description":"Authentication method","required":false},"roles":{"type":"string[]","fullType":"string[]","canBeNull":true,"readOnly":true,"description":"Roles of the authenticated identity","required":false},"user":{"type":"string","fullType":"string","canBeNull":true,"readOnly":true,"description":"Username of the authenticated identity","required":false}}},"auth.Group":{"id":"Group","namespace":"auth","description":"An IAM Group","properties":{"creation":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Creation date of this group","required":false},"defaultGroup":{"type":"boolean","fullType":"boolean","canBeNull":false,"readOnly":true,"description":"Whether it is a default group. This kind of group can't be edited or deleted","required":false},"description":{"type":"string","fullType":"string","canBeNull":true,"readOnly":false,"description":"Group's description","required":false},"lastUpdate":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Last update of this group","required":false},"name":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Group's name","required":false},"role":{"type":"auth.RoleEnum","fullType":"auth.RoleEnum","canBeNull":false,"readOnly":false,"description":"Group's role","required":false},"urn":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"IAM identity URN of the group","required":false}}},"auth.GroupRequest":{"id":"GroupRequest","namespace":"auth","description":"A new IAM group","properties":{"description":{"type":"string","fullType":"string","canBeNull":true,"readOnly":false,"description":"Group's description","required":false},"name":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"Group's name","required":true},"role":{"type":"auth.RoleEnum","fullType":"auth.RoleEnum","canBeNull":false,"readOnly":false,"description":"Group's role","required":false}}},"auth.GroupUser":{"id":"GroupUser","namespace":"auth","description":"An IAM Group User","properties":{"user":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"Username to add to the group","required":false}}},"auth.HTTPMethodEnum":{"id":"HTTPMethodEnum","namespace":"auth","description":"All HTTP methods available","enum":["DELETE","GET","PATCH","POST","PUT"],"enumType":"string"},"auth.MethodEnum":{"id":"MethodEnum","namespace":"auth","description":"All authentication methods available","enum":["account","oauth2_client_credentials","provider","user"],"enumType":"string"},"auth.PersonalAccessToken":{"id":"PersonalAccessToken","namespace":"auth","description":"A personal access token response","properties":{"creation":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Creation date of this token","required":false},"description":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Personal access token's description","required":false},"expiresAt":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"description":"Personal access token's expiration date","required":false},"lastUsed":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"description":"Personal access token's last used date","required":false},"name":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Name of this token","required":false}}},"auth.PersonalAccessTokenModifyRequest":{"id":"PersonalAccessTokenModifyRequest","namespace":"auth","description":"A personal access token modify request","properties":{"description":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"Personal access token's description","required":false},"expiresAt":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":false,"description":"Personal access token's expiration date","required":false},"expiresIn":{"type":"long","fullType":"long","canBeNull":true,"readOnly":false,"description":"Duration (in seconds) of the token's validity","required":false}}},"auth.PersonalAccessTokenRequest":{"id":"PersonalAccessTokenRequest","namespace":"auth","description":"A personal access token creation request","properties":{"description":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"Personal access token's description","required":true},"expiresAt":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":false,"description":"Personal access token's expiration date","required":false},"expiresIn":{"type":"long","fullType":"long","canBeNull":false,"readOnly":false,"description":"Duration (in seconds) of the token's validity","required":false},"name":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"Personal access token's name","required":true}}},"auth.PersonalAccessTokenResponse":{"id":"PersonalAccessTokenResponse","namespace":"auth","description":"Personal access token usable on OVHcloud's applications","properties":{"creation":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Creation date of this token","required":false},"description":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Personal access token's description","required":false},"expiresAt":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"description":"Personal access token's expiration date","required":false},"lastUsed":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"description":"Personal access token's last used date","required":false},"name":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Name of this token","required":false},"token":{"type":"password","fullType":"password","canBeNull":false,"readOnly":true,"description":"Personal access token","required":false}}},"auth.Provider":{"id":"Provider","namespace":"auth","description":"An IAM Federation Provider","properties":{"creation":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Creation date of the identity provider","required":false},"disableUsers":{"type":"boolean","fullType":"boolean","canBeNull":true,"readOnly":false,"description":"Whether account users should still be usable as a login method or not","required":false},"extensions":{"type":"auth.ProviderExtensions","fullType":"auth.ProviderExtensions","canBeNull":false,"readOnly":false,"description":"SAML Extensions to embed inside the SAML requests","required":false},"groupAttributeName":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"SAML Group attribute name","required":false},"idpSigningCertificates":{"type":"auth.Certificate[]","fullType":"auth.Certificate[]","canBeNull":false,"readOnly":true,"description":"IdP's signing certificate","required":false},"lastUpdate":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Last update of the identity provider","required":false},"signRequests":{"type":"boolean","fullType":"boolean","canBeNull":true,"readOnly":false,"description":"Whether SAML Authn Requests should be signed","required":false},"ssoServiceUrl":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"IdP's Single Sign On Service Url","required":false},"userAttributeName":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"SAML User attribute name","required":false}}},"auth.ProviderExtensions":{"id":"ProviderExtensions","namespace":"auth","description":"A SAML 2.0 Extension that should be added to SAML requests when using this provider","properties":{"requestedAttributes":{"type":"auth.ProviderRequestedAttributes[]","fullType":"auth.ProviderRequestedAttributes[]","canBeNull":true,"readOnly":false,"description":"List of SAML RequestedAttribute to add to SAML requests","required":false}}},"auth.ProviderRequest":{"id":"ProviderRequest","namespace":"auth","description":"An IAM Federation Provider creation request","properties":{"disableUsers":{"type":"boolean","fullType":"boolean","canBeNull":true,"readOnly":false,"description":"Whether account users should still be usable as a login method or not","required":false},"extensions":{"type":"auth.ProviderExtensions","fullType":"auth.ProviderExtensions","canBeNull":false,"readOnly":false,"description":"SAML Extensions to embed inside the SAML requests","required":false},"groupAttributeName":{"type":"string","fullType":"string","canBeNull":true,"readOnly":false,"description":"SAML Group attribute name","required":false},"metadata":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"IdP's signing certificate","required":true},"signRequests":{"type":"boolean","fullType":"boolean","canBeNull":true,"readOnly":false,"description":"Whether SAML Authn Requests should be signed","required":false},"userAttributeName":{"type":"string","fullType":"string","canBeNull":true,"readOnly":false,"description":"SAML User attribute name","required":false}}},"auth.ProviderRequestedAttributes":{"id":"ProviderRequestedAttributes","namespace":"auth","description":"A SAML 2.0 requested attribute that should be added to SAML requests when using this provider","properties":{"isRequired":{"type":"boolean","fullType":"boolean","canBeNull":false,"readOnly":false,"description":"Expresses that this RequestedAttribute is mandatory (remains advisory)","required":true},"name":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"Name of the SAML RequestedAttribute","required":true},"nameFormat":{"type":"string","fullType":"string","canBeNull":true,"readOnly":false,"description":"NameFormat of the SAML RequestedAttribute","required":false},"values":{"type":"string[]","fullType":"string[]","canBeNull":true,"readOnly":false,"description":"List of AttributeValues allowed for this RequestedAttribute","required":false}}},"auth.RoleEnum":{"id":"RoleEnum","namespace":"auth","description":"Permission given on the account","enum":["ADMIN","NONE","REGULAR","UNPRIVILEGED"],"enumType":"string"},"auth.ServiceProviderInfo":{"id":"ServiceProviderInfo","namespace":"auth","description":"An IAM Federation Provider","properties":{"assertionConsumerServiceUrl":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"URL of the SAMLv2 Assertion Consumer Service for OVHcloud","required":false},"entityId":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"Entity ID of OVHcloud as a service provider ","required":false},"metadata":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"XML metadata of OVHcloud as a service provider","required":false},"metadataUrl":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"URL of the SAMLv2 metadata for OVHcloud","required":false}}},"auth.Token":{"id":"Token","namespace":"auth","description":"One-time token usable on OVHcloud's applications (only supported by chatbot for the moment)","properties":{"token":{"type":"password","fullType":"password","canBeNull":false,"readOnly":true,"description":"One-time token","required":false}}},"auth.User":{"id":"User","namespace":"auth","description":"An IAM User","properties":{"creation":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"Creation date of this user","required":false},"description":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"User's description","required":false},"email":{"type":"string","fullType":"string","canBeNull":true,"readOnly":false,"description":"User's email","required":false},"group":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"User's main group","required":false},"groups":{"type":"string[]","fullType":"string[]","canBeNull":false,"readOnly":true,"description":"User's groups","required":false},"lastUpdate":{"type":"datetime","fullType":"datetime","canBeNull":false,"readOnly":true,"description":"User's last update date","required":false},"login":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"User's login suffix","required":false},"passwordLastUpdate":{"type":"datetime","fullType":"datetime","canBeNull":true,"readOnly":true,"description":"User's password last update date","required":false},"status":{"type":"auth.UserStatusEnum","fullType":"auth.UserStatusEnum","canBeNull":false,"readOnly":true,"description":"Current user's status","required":false},"type":{"type":"auth.UserTypeEnum","fullType":"auth.UserTypeEnum","canBeNull":true,"readOnly":true,"description":"Type of user","required":false},"urn":{"type":"string","fullType":"string","canBeNull":false,"readOnly":true,"description":"IAM identity URN of the user","required":false}}},"auth.UserRequest":{"id":"UserRequest","namespace":"auth","description":"An IAM user creation request","properties":{"description":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"User's description","required":false},"email":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"User's email","required":false},"group":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"User's group","required":false},"login":{"type":"string","fullType":"string","canBeNull":false,"readOnly":false,"description":"User's login","required":true},"password":{"type":"password","fullType":"password","canBeNull":false,"readOnly":false,"description":"User's password","required":false},"type":{"type":"auth.UserTypeEnum","fullType":"auth.UserTypeEnum","canBeNull":false,"readOnly":false,"description":"Type of user to create","required":false}}},"auth.UserStatusEnum":{"id":"UserStatusEnum","namespace":"auth","description":"Status of a User","enum":["DISABLED","OK","PASSWORD_CHANGE_REQUIRED"],"enumType":"string"},"auth.UserTypeEnum":{"id":"UserTypeEnum","namespace":"auth","description":"Type of user","enum":["ROOT","SERVICE","USER"],"enumType":"string"},"http.MethodEnum":{"id":"MethodEnum","namespace":"http","description":"All HTTP methods available","enum":["DELETE","GET","POST","PUT"],"enumType":"string"}}}
