{"items":[{"type":"link","label":"Auth API","link":"/openapi/authapi","routeSlug":"/openapi/authapi","content":{"contentType":"overview","meta":{"name":"Auth API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"AuthApi.json","url":"/_bundle/openapi/AuthApi.json?download"},{"kind":"download","label":"AuthApi.yaml","url":"/_bundle/openapi/AuthApi.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Auth API (v2)","showPageActions":true}],"sectionId":"/"}]}]}},{"type":"group","label":"Authentication","link":"/openapi/authapi/authentication","routeSlug":"/openapi/authapi/authentication","items":[{"label":"Get oauth2 token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/authapi/authentication/fetchoauth2token","routeSlug":"/openapi/authapi/authentication/fetchoauth2token","metadata":{"seo":{"title":"Get oauth2 token","description":"Get oauth2 token using the client credentials."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"fetchOauth2Token","name":"Get oauth2 token","isWebhook":false,"pointer":"/paths/~1v2~1auth~1oauth2-token/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get oauth2 token","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get oauth2 token using the client credentials."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" API calls to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/v2/auth/oauth2-token"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/get-auth-token"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (legacy) endpoints are rate limited."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We recommend reusing the existing tokens until they expire."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/x-www-form-urlencoded"],"mediaTypeSchemas":{"application/x-www-form-urlencoded":{"schemaId":"components/schemas/OAuthTokenRequest"}},"schemaId":"components/schemas/OAuthTokenRequest","pointer":"/paths/~1v2~1auth~1oauth2-token/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/auth/oauth2-token","servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/x-www-form-urlencoded":{"schemaId":"components/schemas/OAuthTokenRequest"}},"responseCodes":["200","403"],"pointer":"/v2/auth/oauth2-token","href":"authentication/fetchoauth2token","openApiOperationId":"fetchOauth2Token","summary":"Get oauth2 token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"schemaId":"components/schemas/OAuthTokenRequest","mediaTypes":["application/x-www-form-urlencoded"],"mediaTypeSchemas":{"application/x-www-form-urlencoded":{"schemaId":"components/schemas/OAuthTokenRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/OAuthTokenResponse"}},"schemaId":"components/schemas/OAuthTokenResponse"},{"code":"403","description":"Forbidden","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1v2~1auth~1oauth2-token/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/OAuthTokenResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/OAuthTokenResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]}]},"httpPath":"/v2/auth/oauth2-token"}],"content":{"contentType":"group","meta":{"name":"Authentication"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Authentication","showPageActions":true},{"nodeType":"markdoc","content":"Authentication APIs for user login, logout, and token management"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/auth/oauth2-token","summary":"Get oauth2 token","prefix":{"name":"post","color":"post"},"badges":[],"link":"/authentication/fetchoauth2token","deprecated":false}]}]}]}]}},{"type":"group","label":"API User","link":"/openapi/authapi/api-user","routeSlug":"/openapi/authapi/api-user","items":[{"label":"Create a new API user","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/authapi/api-user/createapiuser","routeSlug":"/openapi/authapi/api-user/createapiuser","metadata":{"seo":{"title":"Create a new API user","description":"Creates a new API user (also known as a machine user) that your applicationcan use to authenticate with Spotnana APIs."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createApiUser","name":"Create a new API user","isWebhook":false,"pointer":"/paths/~1v2~1api-users/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new API user","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new API user (also known as a machine user) that your application"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can use to authenticate with Spotnana APIs."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generate a dedicated "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pair that your backend services can use to obtain access tokens."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a SCIM API user by setting "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"credentialType"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCIM_TOKEN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPANY_ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This returns a SCIM bearer token instead of a client secret."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Role assignment:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"With "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": The API user is automatically added to the corresponding RBAC user group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TMC Admin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Company Admin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") based on the specified role. Requires "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tmcId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for TMC admin,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"orgId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tmcId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for company admin."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": The API user is created without any RBAC roles. Requires "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"orgId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this option for granular permission control — assign specific RBAC groups or roles"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"userId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" via the RBAC assignment endpoints."},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Credential types:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_CREDENTIALS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (default): Returns a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Use them in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /v2/auth/oauth2-token"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to obtain an access token."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCIM_TOKEN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Returns a SCIM bearer token instead of a client secret. Requires "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPANY_ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Next steps:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLIENT_CREDENTIALS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (default): Use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /v2/auth/oauth2-token"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoint to obtain an access token."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCIM_TOKEN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Use the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scimToken"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as the Bearer token in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"header for SCIM API requests ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/v2/scim/Users"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", etc.)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If created without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Use the returned "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"userId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /v3/user-groups/{userGroupId}/members"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to add the user to RBAC groups, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /v3/users/{userId}/roles"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to assign roles directly."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Notes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scimToken"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" securely. They are only returned once at creation"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and cannot be retrieved later."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"There is a fixed limit on the number of API users per TMC. To increase this limit,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contact your Spotnana representative."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateApiUsersRequest"}},"schemaId":"components/schemas/CreateApiUsersRequest","pointer":"/paths/~1v2~1api-users/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/api-users","servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateApiUsersRequest"}},"responseCodes":["200","401","403","409"],"pointer":"/v2/api-users","href":"api-user/createapiuser","openApiOperationId":"createApiUser","summary":"Create a new API user"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"schemaId":"components/schemas/CreateApiUsersRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateApiUsersRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateApiUsersResponse"}},"schemaId":"components/schemas/CreateApiUsersResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":"Forbidden","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":"Max users for this tmcId already exist"}],"pointer":"/paths/~1v2~1api-users/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/CreateApiUsersResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateApiUsersResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409"}],"examples":[]}]}]}]},"httpPath":"/v2/api-users"},{"label":"Get API users for a TMC","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/authapi/api-user/getapiusers","routeSlug":"/openapi/authapi/api-user/getapiusers","metadata":{"seo":{"title":"Get API users for a TMC","description":"Retrieves the list of all active API users associated with the caller's TMC."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getApiUsers","name":"Get API users for a TMC","isWebhook":false,"pointer":"/paths/~1v2~1api-users/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get API users for a TMC","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the list of all active API users associated with the caller's TMC."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Audit existing API users and their "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientIds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" under a TMC."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Look up the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for a specific API user before rotating its client secret or revoking access."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Notes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint supports pagination using "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameters."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response includes only the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for each user. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is never returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns only the API users belonging to the caller's contracting TMC."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only a TMC admin can use this endpoint."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_0","description":"Number of results to return"},{"name":"offset","in":"query","schemaId":"schema_1","description":"Offset for pagination"}],"pointer":"/paths/~1v2~1api-users/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/api-users","servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","required":false,"schemaId":"schema_0"},{"name":"offset","in":"query","required":false,"schemaId":"schema_1"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","401","403","404"],"pointer":"/v2/api-users","href":"api-user/getapiusers","openApiOperationId":"getApiUsers","summary":"Get API users for a TMC"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetApiUsersResponse"}},"schemaId":"components/schemas/GetApiUsersResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":"Forbidden","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1v2~1api-users/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetApiUsersResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetApiUsersResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]}]},"httpPath":"/v2/api-users"},{"label":"Delete an API user","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/authapi/api-user/deleteapiuser","routeSlug":"/openapi/authapi/api-user/deleteapiuser","metadata":{"seo":{"title":"Delete an API user","description":"Permanently deletes an API user and revokes its access to the Spotnana platform. This immediatelyinvalidates all existing access tokens and removes the API user's ability to authenticate."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteApiUser","name":"Delete an API user","isWebhook":false,"pointer":"/paths/~1v2~1api-users~1revoke/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete an API user","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes an API user and revokes its access to the Spotnana platform. This immediately"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"invalidates all existing access tokens and removes the API user's ability to authenticate."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Revoke access for an API user that is no longer needed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommission an integration or clean up unused API users."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Free up a slot in your TMC's API user quota (default up to 5 API users per TMC)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practice:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before revoking, ensure no active integrations are using this "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Be sure to:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"create a new API user first"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"update your integrations to use the new credentials"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"verify they work"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and then revoke the old API user."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Notes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This action is permanent and cannot be undone. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are permanently invalidated."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All active tokens for this API user are invalidated immediately. Any in-flight API requests using those tokens will fail."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The API user being revoked must belong to the same TMC as the caller."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only a TMC admin can use this endpoint."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/DeleteApiUsersRequest"}},"schemaId":"components/schemas/DeleteApiUsersRequest","pointer":"/paths/~1v2~1api-users~1revoke/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/api-users/revoke","servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/DeleteApiUsersRequest"}},"responseCodes":["204","401","403","404"],"pointer":"/v2/api-users/revoke","href":"api-user/deleteapiuser","openApiOperationId":"deleteApiUser","summary":"Delete an API user"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"schemaId":"components/schemas/DeleteApiUsersRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/DeleteApiUsersRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"No Content"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":"Forbidden","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1v2~1api-users~1revoke/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]}]},"httpPath":"/v2/api-users/revoke"},{"label":"Rotate client secret for an API user","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/authapi/api-user/rotateclientsecret","routeSlug":"/openapi/authapi/api-user/rotateclientsecret","metadata":{"seo":{"title":"Rotate client secret for an API user","description":"Generates a new clientSecret for an existing API user. The old clientSecret isimmediately invalidated and all existing access tokens for the API user will be expired."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"rotateClientSecret","name":"Rotate client secret for an API user","isWebhook":false,"pointer":"/paths/~1v2~1api-users~1rotate/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Rotate client secret for an API user","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generates a new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for an existing API user. The old "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immediately invalidated and all existing access tokens for the API user will be expired."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rotate credentials as part of a regular security hygiene practice."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replace a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" without deleting the API user."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generate a new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the old secret was lost or not stored."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practice:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update your integrations with the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" immediately after rotation. Any authentication requests using the old secret will fail."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Notes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is only returned once in the response and cannot be retrieved later. Store it securely."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" remains the same."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The old "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" stops working immediately. Any integration using it will need to re-authenticate with the new secret."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All existing access tokens created using the old "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"clientSecret"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are immediately invalidated."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only a TMC admin can use this endpoint."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RotateClientSecretRequest"}},"schemaId":"components/schemas/RotateClientSecretRequest","pointer":"/paths/~1v2~1api-users~1rotate/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/api-users/rotate","servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/RotateClientSecretRequest"}},"responseCodes":["200","401","403","404"],"pointer":"/v2/api-users/rotate","href":"api-user/rotateclientsecret","openApiOperationId":"rotateClientSecret","summary":"Rotate client secret for an API user"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","description":"Spotnana mock server","isMockServer":true}],"schemaId":"components/schemas/RotateClientSecretRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RotateClientSecretRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Client secret generated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RotateClientSecretResponse"}},"schemaId":"components/schemas/RotateClientSecretResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"403","description":"Forbidden","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1v2~1api-users~1rotate/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/RotateClientSecretResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RotateClientSecretResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]}]},"httpPath":"/v2/api-users/rotate"}],"content":{"contentType":"group","meta":{"name":"API User"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"API User","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/api-users","summary":"Create a new API user","prefix":{"name":"post","color":"post"},"badges":[],"link":"/api-user/createapiuser","deprecated":false},{"title":"/v2/api-users","summary":"Get API users for a TMC","prefix":{"name":"get","color":"get"},"badges":[],"link":"/api-user/getapiusers","deprecated":false},{"title":"/v2/api-users/revoke","summary":"Delete an API user","prefix":{"name":"post","color":"post"},"badges":[],"link":"/api-user/deleteapiuser","deprecated":false},{"title":"/v2/api-users/rotate","summary":"Rotate client secret for an API user","prefix":{"name":"post","color":"post"},"badges":[],"link":"/api-user/rotateclientsecret","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/ApiUserCredentialTypeEnum":{"id":"components/schemas/ApiUserCredentialTypeEnum","kind":"json-schema","title":"ApiUserCredentialTypeEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type of credentials to generate for the API user. Defaults to CLIENT_CREDENTIALS."},"children":[]}]}]}],"enum":["CLIENT_CREDENTIALS","SCIM_TOKEN"],"default":"CLIENT_CREDENTIALS","example":"CLIENT_CREDENTIALS"}},"components/schemas/ApiUserRoleEnum":{"id":"components/schemas/ApiUserRoleEnum","kind":"json-schema","title":"ApiUserRoleEnum","data":{"type":"string","description":"Roles supported for api user creation","enum":["TMC_ADMIN","COMPANY_ADMIN"],"example":"TMC_ADMIN"}},"components/schemas/ApiUsersInfo":{"id":"components/schemas/ApiUsersInfo","kind":"json-schema","title":"ApiUsersInfo","data":{"type":"object","title":"ApiUsersInfo","properties":{"clientId":{"type":"string","description":"Api user client id","example":"1ddj3hs95to28iag7m4hl9lv2"}}}},"components/schemas/CreateApiUsersRequest":{"id":"components/schemas/CreateApiUsersRequest","kind":"json-schema","title":"CreateApiUsersRequest","data":{"type":"object","title":"CreateApiUsersRequest","properties":{"tmcId":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"TMC ID. Required when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TMC_ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"ecc5b835-8001-430c-98f8-fedeccebe4cf"},"orgId":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Organization (company) ID. Required when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is omitted or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COMPANY_ADMIN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"ecc5b835-8001-430c-98f8-fedeccebe4cf"},"name":{"type":"string","description":"Display name for the API user.","default":"Api User","example":"My Integration Bot"},"role":{"$ref":"#/components/schemas/ApiUserRoleEnum","description":"Roles supported for api user creation"},"credentialType":{"$ref":"#/components/schemas/ApiUserCredentialTypeEnum","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type of credentials to generate for the API user. Defaults to CLIENT_CREDENTIALS."},"children":[]}]}]}]}}}},"components/schemas/CreateApiUsersResponse":{"id":"components/schemas/CreateApiUsersResponse","kind":"json-schema","title":"CreateApiUsersResponse","data":{"type":"object","title":"CreateApiUsersResponse","properties":{"clientId":{"type":"string","description":"Api user client id","example":"1ddj3hs95to28iag7m4hl9lv2"},"clientSecret":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Api user client secret. Present for CLIENT_CREDENTIALS credential type."},"children":[]}]}]}],"example":"1hgea74sii6os6vlkk1c7krlfgniaphbn2c56pml"},"userId":{"type":"string","format":"uuid","description":"User ID of the created API user","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"scimToken":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SCIM bearer token (Base64-encoded JSON envelope with encrypted secret). Present only for SCIM_TOKEN credential type."},"children":[]}]}]}],"example":"eyJzY29wZSI6InNjaW0iLCJjbGllbnRJZCI6Ii4uLiIsImVuY3J5cHRlZFNlY3JldCI6Ii4uLiJ9"}}}},"components/schemas/DeleteApiUsersRequest":{"id":"components/schemas/DeleteApiUsersRequest","kind":"json-schema","title":"DeleteApiUsersRequest","data":{"type":"object","title":"DeleteApiUsersRequest","properties":{"clientId":{"type":"string","description":"Api user client id"}}}},"components/schemas/ErrorParameter":{"id":"components/schemas/ErrorParameter","kind":"json-schema","title":"ErrorParameter","data":{"type":"object","title":"ErrorParameter","description":"Error parameter","properties":{"name":{"type":"string","description":"Parameter name"},"value":{"type":"string","description":"Parameter value"}}}},"components/schemas/ErrorResponse":{"id":"components/schemas/ErrorResponse","kind":"json-schema","title":"ErrorResponse","data":{"type":"object","properties":{"debugIdentifier":{"type":"string","description":"Link to debug the error internally."},"errorMessages":{"type":"array","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Error code to identify the specific errors."},"message":{"type":"string","description":"Message containing details of error."},"errorParameters":{"type":"array","description":"Error message parameters.","items":{"$ref":"#/components/schemas/ErrorParameter"}},"errorDetail":{"type":"string","description":"More details about the error."}}}}}}},"components/schemas/GetApiUsersResponse":{"id":"components/schemas/GetApiUsersResponse","kind":"json-schema","title":"GetApiUsersResponse","data":{"type":"object","title":"GetApiUsersResponse","properties":{"apiUsers":{"type":"array","description":"List of api users","items":{"$ref":"#/components/schemas/ApiUsersInfo"}},"totalCount":{"type":"integer","description":"Total count of api users","example":25}}}},"components/schemas/OAuthTokenRequest":{"id":"components/schemas/OAuthTokenRequest","kind":"json-schema","title":"OAuthTokenRequest","data":{"type":"object","title":"OAuthTokenRequest","x-ignore-naming-case":true,"required":["grant_type","client_id","client_secret"],"properties":{"grant_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supported values are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"client_credentials"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"urn:ietf:params:oauth:grant-type:token-exchange"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"client_id":{"type":"string","description":"Identifier for the API user."},"client_secret":{"type":"string","description":"Password"},"audience":{"type":"string","description":"Identifies the API being accessed in Spotnana.","example":"https://apis.spotnana.com/v2"},"subject_token":{"type":"string","description":"A security token that represents the identity of the entity on whose behalf the request \nis being made.\n"},"subject_token_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Indicates the type of the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"subject_token"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" used for token exchange."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This field supports the valid types as per the OAUTH 2.0 security framework."},"children":[]}]}]}]},"scope":{"type":"string","description":"The list of space-delimited, case-sensitive strings, as defined in Section 3.3 of \nRFC6749 OAuth 2.0 framework, that allow the client to specify the desired scope of the requested security \ntoken in the context of the service or resource where the token will be used.\n"}}}},"components/schemas/OAuthTokenResponse":{"id":"components/schemas/OAuthTokenResponse","kind":"json-schema","title":"OAuthTokenResponse","data":{"type":"object","title":"OAuthTokenResponse","required":["access_token","token_type"],"x-ignore-naming-case":true,"properties":{"access_token":{"type":"string","description":"The token to be used in subsequent API calls made to the Spotnana platform."},"expires_in":{"type":"integer","description":"The length of time (in seconds) for which the access token is valid.","format":"int32"},"token_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A case-insensitive value specifying the method of using the access token issued, as"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"specified in Section 7.1 of [RFC6749]."},"children":[]}]}]}],"example":"Bearer"},"refresh_token":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Used to fetch a new access token when the existing token expires."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The refresh token will not be available if the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"grant_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"client_credentials"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"scope":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The list of space-delimited, case-sensitive strings, as defined in Section 3.3 of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"[RFC6749], that allow the client to specify the desired scope of the requested security"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token in the context of the service or resource where the token will be used."},"children":[]}]}]}]}}}},"components/schemas/RotateClientSecretRequest":{"id":"components/schemas/RotateClientSecretRequest","kind":"json-schema","title":"RotateClientSecretRequest","data":{"type":"object","title":"RotateClientSecretRequest","properties":{"clientId":{"type":"string","description":"Api user client id"}}}},"components/schemas/RotateClientSecretResponse":{"id":"components/schemas/RotateClientSecretResponse","kind":"json-schema","title":"RotateClientSecretResponse","data":{"type":"object","title":"RotateClientSecretResponse","properties":{"clientId":{"type":"string","description":"Api user client id","example":"1ddj3hs95to28iag7m4hl9lv2"},"clientSecret":{"type":"string","description":"Api user client secret","example":"1hgea74sii6os6vlkk1c7krlfgniaphbn2c56pml"}}}},"schema_0":{"kind":"json-schema","data":{"type":"integer","default":100,"minimum":0,"maximum":100},"id":"schema_0"},"schema_1":{"kind":"json-schema","data":{"type":"integer","default":0,"minimum":0},"id":"schema_1"}},"exampleStore":{},"securitySchemeStore":{"Bearer":{"id":"Bearer","type":"http","scheme":"bearer"}},"specVersion":"3.1.0","servers":[{"url":"https://api-ext-sboxmeta.partners.spotnana.com","description":"Sandbox URL"},{"url":"/_mock/openapi/authapi","isMockServer":true,"description":"Spotnana mock server"}],"specType":"openapi"},"options":{"feedback":{"hide":true,"settings":{"label":""}},"mockServer":{"url":"/_mock/openapi/authapi","position":"last","description":"Spotnana mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/openapi/AuthApi.json?download"},{"url":"/_bundle/openapi/AuthApi.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Auth API"}},"baseSlug":"/openapi/authapi","routesMapping":{}}