1. v2 · End-Customer
StudioIntern API Doc
  • v1 · Public
    • List courses
      GET
    • Get course schedule
      GET
    • Get upcoming events and holidays
      GET
    • List upcoming course restarts
      GET
    • List SI Summer courses
      GET
    • Get studio email signature
      GET
    • List course plans
      GET
    • List tariffs
      GET
    • Register applicant / contact form (v1)
      POST
  • v1 · Own
    • Create account entry (payment/credit/debit)
      POST
    • Get customer by ID
      GET
  • v2 · OAuth
    • Obtain access token
      POST
  • v2 · Public
    • List locations
      GET
    • List rooms of a location
      GET
    • Get studio email signature
      GET
    • List course styles (Kursgruppen)
      GET
    • Customer registration flow info
      GET
    • Register a new customer (end-user)
      POST
    • Submit contract revocation request (Widerruf)
      POST
    • Submit contract quit request (Kündigung)
      POST
    • Appointment flow info
      GET
    • Create trial-class appointment
      POST
    • Validate email address
      GET
    • Validate email address with check level
      GET
    • CourseFinder flow info
      GET
    • List CourseFinder age groups
      GET
    • List CourseFinder styles for age
      GET
    • List CourseFinder levels
      GET
    • List CourseFinder lessons
      GET
    • List available trial dates for a lesson
      GET
  • v2 · Own
    • List customers
    • Get customer detail
    • Get customer CRM view
    • List students
    • Get student detail
    • Create account entry
    • Delete account entry
    • List CourseFinder leads
  • v2 · End-Customer
    • End-customer login
      QUERY
    • End-customer logout
      GET
    • List students of authenticated end-customer
      GET
    • List active course seats of authenticated end-customer
      GET
    • List active course seats for one student
      GET
    • List waitlist seats of authenticated end-customer
      GET
    • List waitlist seats for one student
      GET
    • Get authenticated end-customer profile
      GET
  • Schemas
    • V1Response
    • V1Course
    • V1CourseSchedule
    • V1Event
    • V1NextCourse
    • V1UserRegisterRequest
    • V2CustLoginRequest
    • V2CustLoginData
    • V2CustStudent
    • V2CustUserStudent
    • V2CourseSeat
    • V2CustUser
    • V1CustomerBrief
    • V1AccountCreateRequest
    • PlainErrorResponse
    • RateLimitError
    • V2SuccessEnvelope
    • V2ErrorEnvelope
    • PluginInfo
    • V2Location
    • V2Room
    • V2LocationsResponse
    • V2RoomsResponse
    • V2CourseStyle
    • V2CustomerRegisterRequest
    • V2CustomerRegisterData
    • V2ContractRevokeRequest
    • V2ContractQuitRequest
    • V2AppointmentCreateRequest
    • V2AppointmentCreatedResponse
    • V2MailCheckData
    • CfAge
    • CfStyle
    • CfLevel
    • CfLesson
    • CfLead
    • V2OwnStudentBasic
    • V2OwnCustomerListItem
    • V2OwnCustomerDetail
    • V2OwnStudentDetail
    • V2OwnStudentListItem
    • V2OwnCustomerCrm
    • V2OwnContract
    • V2OwnWaitlist
    • V2OwnTrialLesson
    • V2AccountCreateRequest
    • V2AccountCreateData
    • OAuthTokenRequest
    • OAuthTokenResponse
    • OAuthTokenError
  1. v2 · End-Customer

End-customer login

QUERY
https://api.studiointern.de/{customer_shortname}/v2/cust/login
Last modified:2026-07-30 13:06:00
Maintainer:Not configured
Authenticates a studio end-customer (website user) and creates a session.
HTTP method: QUERY (not GET or POST). Send credentials in the request body as
application/x-www-form-urlencoded or JSON. Rate-limited by IP and customer.
End-customer session authentication (similar to OAuth, but not OAuth).
Every request to /v2/cust/* requires the tenant API key in header X-Api-Key — including login and logout.
1.
Login (QUERY /v2/cust/login): send session_id, user_id (customer number or email), and pw.
On success the response contains data.token and data.kID. The token is returned only once
in this response — store it securely on the client; it cannot be retrieved again.
2.
Authenticated calls (all /v2/cust/* except login and logout): send the token in header
X-Customer-Token. No additional session_id or user_id is required.
3.
Logout (GET /v2/cust/logout/{user_id}/{session_id}): ends the session; does not use
X-Customer-Token.
The token is bound to the server-side session and is valid for 20 minutes of inactivity (same
timeout as the session). Each authenticated request resets this countdown.

Request

Authorization
API Key
Add parameter in header
X-Api-Key
Example:
X-Api-Key: ********************
or
Path Params

Body Params
application/json
Required

Examples

Responses

🟢200
application/json
Logged in — store data.token immediately; it is shown only once
Bodyapplication/json

🟠400
🟠401
🟠403
🟠404
🟠429
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request QUERY 'https://api.studiointern.de//v2/cust/login' \
--header 'X-Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "session_id": "stringstringstringstring",
    "user_id": "string",
    "pw": "pa$$word",
    "pw_is_base64": true
}'
Response Response Example
200 - Example 1
{
    "success": true,
    "code": 0,
    "locale": "de",
    "message": "string",
    "data": {
        "token": "string",
        "kID": 0
    },
    "links": {},
    "meta": {}
}
Modified at 2026-07-30 13:06:00
Previous
List CourseFinder leads
Next
End-customer logout
Built with