API Reference

Tickets

Support ticket workflows, category management, and message actions.

Lists accessible support tickets or returns a single ticket when ticketId is provided.

Authentication

Session.

Modes: logged-in user, API key

API key: tickets:read

Permissions or Scopes

owner, category viewer/responder, or manage_tickets

Request Headers

HeaderValueDescription
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
pagequeryNoPage number for paginated results.
pageSizequeryNoRequested page size where supported by the endpoint.
ticketIdqueryNoTicket ID for detail lookup.
categoryIdqueryNoFilter by category.
statusqueryNoopen, closed, claimed, or all.
minequeryNoRestrict to current user tickets.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/tickets"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets', {
  method: 'GET',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.get('https://playroom.date/api/tickets', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "tickets": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

GET /api/tickets?page=1&pageSize=20

curl Equivalent

curl "https://playroom.date/api/tickets?page=1&pageSize=20"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "tickets": []
  },
  "error": null
}

Creates a support ticket for the current user.

Authentication

Session + CSRF.

Modes: logged-in user, API key

API key: tickets:write

Permissions or Scopes

current user

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
titlebodyYesTicket title, 3-120 characters.
categoryIdbodyYesTicket category ID.
messagebodyYesInitial ticket message, 5-2000 characters.

Validation

  • Title is 3-120 characters.
  • Message is 5-2000 characters.
  • Category ID is required.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X POST -H "Authorization: Bearer prapi_your_key" -H "Content-Type: application/json" -d '{"title":"Example title","categoryId":"category_id","message":"example-message"}' "https://playroom.date/api/tickets"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets', {
  method: 'POST',
  headers: {
    "Authorization": "Bearer prapi_your_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "title": "Example title",
    "categoryId": "category_id",
    "message": "example-message"
  }),
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.post('https://playroom.date/api/tickets', headers=headers, json={"title": "Example title", "categoryId": "category_id", "message": "example-message"})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "ticket": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

POST /api/tickets

Request Payload

{
  "title": "Example ticket",
  "categoryId": "",
  "message": "Example message"
}

curl Equivalent

curl -X POST -H "Content-Type: application/json" -d '{"title":"Example ticket","categoryId":"","message":"Example message"}' "https://playroom.date/api/tickets"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "ticket": []
  },
  "error": null
}

Updates ticket status, claim state, or metadata according to caller permissions.

Authentication

Session + CSRF.

Modes: logged-in user, API key

API key: tickets:write

Permissions or Scopes

owner, responder, or manage_tickets

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
ticketIdbodyYesTicket ID to update.
statusbodyNoUpdated ticket status.
claimedByMebodyNoClaim or unclaim the ticket as the current user.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X PUT -H "Authorization: Bearer prapi_your_key" -H "Content-Type: application/json" -d '{"ticketId":"ticket_id","status":"","claimedByMe":true}' "https://playroom.date/api/tickets"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets', {
  method: 'PUT',
  headers: {
    "Authorization": "Bearer prapi_your_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "ticketId": "ticket_id",
    "status": "",
    "claimedByMe": true
  }),
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.put('https://playroom.date/api/tickets', headers=headers, json={"ticketId": "ticket_id", "status": "", "claimedByMe": True})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "ticket": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

PUT /api/tickets

Request Payload

{
  "ticketId": ""
}

curl Equivalent

curl -X PUT -H "Content-Type: application/json" -d '{"ticketId":""}' "https://playroom.date/api/tickets"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "ticket": []
  },
  "error": null
}

Deletes a ticket when caller has management permission.

Authentication

Session + CSRF.

Modes: logged-in user, API key

API key: tickets:write

Permissions or Scopes

manage_tickets

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
ticketIdqueryYesTicket ID to delete.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X DELETE -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/tickets?ticketId=ticket_id"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets?ticketId=ticket_id', {
  method: 'DELETE',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.delete('https://playroom.date/api/tickets?ticketId=ticket_id', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "ticket": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

DELETE /api/tickets

curl Equivalent

curl -X DELETE "https://playroom.date/api/tickets"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "ticket": []
  },
  "error": null
}

Deletes a ticket message according to ticket and moderation permissions.

Authentication

Session + CSRF.

Modes: logged-in user, API key

API key: tickets:write

Permissions or Scopes

message owner, responder, or manage_tickets

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
messageIdqueryYesMessage ID to delete.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X DELETE -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/tickets/messages?messageId=message_id"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets/messages?messageId=message_id', {
  method: 'DELETE',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.delete('https://playroom.date/api/tickets/messages?messageId=message_id', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "message": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

DELETE /api/tickets/messages

curl Equivalent

curl -X DELETE "https://playroom.date/api/tickets/messages"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "message": []
  },
  "error": null
}

Lists support ticket categories and viewer role configuration.

Authentication

Session or actor-linked API key.

Modes: logged-in user, API key

API key: tickets:read

Permissions or Scopes

current user or manage_tickets

Request Headers

HeaderValueDescription
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/tickets/categories"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets/categories', {
  method: 'GET',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.get('https://playroom.date/api/tickets/categories', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "categories": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

This request has no editable path, query, or body fields.

Request

GET /api/tickets/categories

curl Equivalent

curl "https://playroom.date/api/tickets/categories"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "categories": []
  },
  "error": null
}

Creates a ticket category.

Authentication

Admin session + CSRF or actor-linked API key.

Modes: logged-in user, API key

API key: tickets:write

Permissions or Scopes

define_tickets

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
namebodyYesCategory name.
descriptionbodyNoOptional category description.
colorbodyNoOptional hex color.
responderRoleIdsbodyNoResponder role IDs.
viewerRoleIdsbodyNoViewer role IDs.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X POST -H "Authorization: Bearer prapi_your_key" -H "Content-Type: application/json" -d '{"name":"example-name","description":"example-description","color":"example-color","responderRoleIds":[],"viewerRoleIds":[]}' "https://playroom.date/api/tickets/categories"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets/categories', {
  method: 'POST',
  headers: {
    "Authorization": "Bearer prapi_your_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "name": "example-name",
    "description": "example-description",
    "color": "example-color",
    "responderRoleIds": [],
    "viewerRoleIds": []
  }),
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.post('https://playroom.date/api/tickets/categories', headers=headers, json={"name": "example-name", "description": "example-description", "color": "example-color", "responderRoleIds": [], "viewerRoleIds": []})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "category": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

POST /api/tickets/categories

Request Payload

{
  "name": "",
  "responderRoleIds": [],
  "viewerRoleIds": []
}

curl Equivalent

curl -X POST -H "Content-Type: application/json" -d '{"name":"","responderRoleIds":[],"viewerRoleIds":[]}' "https://playroom.date/api/tickets/categories"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "category": []
  },
  "error": null
}

Updates a ticket category and viewer role settings.

Authentication

Admin session + CSRF or actor-linked API key.

Modes: logged-in user, API key

API key: tickets:write

Permissions or Scopes

define_tickets

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
categoryIdbodyYesCategory ID to update.
namebodyYesCategory name.
descriptionbodyNoOptional category description.
colorbodyNoOptional hex color.
responderRoleIdsbodyNoResponder role IDs.
viewerRoleIdsbodyNoViewer role IDs.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X PUT -H "Authorization: Bearer prapi_your_key" -H "Content-Type: application/json" -d '{"categoryId":"category_id","name":"example-name","description":"example-description","color":"example-color","responderRoleIds":[],"viewerRoleIds":[]}' "https://playroom.date/api/tickets/categories"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets/categories', {
  method: 'PUT',
  headers: {
    "Authorization": "Bearer prapi_your_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "categoryId": "category_id",
    "name": "example-name",
    "description": "example-description",
    "color": "example-color",
    "responderRoleIds": [],
    "viewerRoleIds": []
  }),
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.put('https://playroom.date/api/tickets/categories', headers=headers, json={"categoryId": "category_id", "name": "example-name", "description": "example-description", "color": "example-color", "responderRoleIds": [], "viewerRoleIds": []})
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "category": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

PUT /api/tickets/categories

Request Payload

{
  "categoryId": "",
  "name": "",
  "responderRoleIds": [],
  "viewerRoleIds": []
}

curl Equivalent

curl -X PUT -H "Content-Type: application/json" -d '{"categoryId":"","name":"","responderRoleIds":[],"viewerRoleIds":[]}' "https://playroom.date/api/tickets/categories"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "category": []
  },
  "error": null
}

Deletes a ticket category and associated viewer permissions.

Authentication

Admin session + CSRF or actor-linked API key.

Modes: logged-in user, API key

API key: tickets:write

Permissions or Scopes

define_tickets

Request Headers

HeaderValueDescription
Cookiesession=<session_cookie>Session cookie set by the login flow.
x-csrf-token<csrfToken>Required for mutating session-authenticated requests.
Content-Typeapplication/jsonRequired when sending a JSON body.
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
categoryIdqueryYesCategory ID to delete.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -X DELETE -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/tickets/categories?categoryId=category_id"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets/categories?categoryId=category_id', {
  method: 'DELETE',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.delete('https://playroom.date/api/tickets/categories?categoryId=category_id', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "category": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

Request

DELETE /api/tickets/categories

curl Equivalent

curl -X DELETE "https://playroom.date/api/tickets/categories"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "category": []
  },
  "error": null
}

Returns whether the current user can access ticket functionality.

Authentication

Session.

Modes: logged-in user, API key

API key: tickets:read

Permissions or Scopes

current user

Request Headers

HeaderValueDescription
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/tickets/access"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets/access', {
  method: 'GET',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.get('https://playroom.date/api/tickets/access', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "access": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

This request has no editable path, query, or body fields.

Request

GET /api/tickets/access

curl Equivalent

curl "https://playroom.date/api/tickets/access"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "access": []
  },
  "error": null
}

Returns a count of open tickets visible to the caller.

Authentication

Session.

Modes: logged-in user, API key

API key: tickets:read

Permissions or Scopes

current user or manage_tickets

Request Headers

HeaderValueDescription
AuthorizationBearer prapi_your_keyPreferred API-key header. Never send API keys in URLs.
x-api-keyprapi_your_keyAlternative API-key header.
x-api-tokenprapi_your_keyLegacy API-key header kept for backward compatibility.

Parameters

NameInRequiredDescription
No path, query, or body parameters.

Validation

  • Request parameters and JSON payloads are validated server-side.
  • Mutating session-authenticated requests require CSRF validation.
  • Permission checks run before privileged data is returned or modified.

Errors

400 Invalid input, missing parameters, or validation failure.

401 Authentication is missing or invalid.

403 The authenticated principal lacks the required permission or scope.

404 The requested resource was not found.

500 Unexpected server error.

Rate Limits

No endpoint-specific public rate limit is documented. Authentication and abuse controls still apply.

Examples and Try It

Request examples, sample output, and the live tester below apply only to this endpoint.

cURL

curl -H "Authorization: Bearer prapi_your_key" "https://playroom.date/api/tickets/open-count"

JavaScript / TypeScript

const response = await fetch('https://playroom.date/api/tickets/open-count', {
  method: 'GET',
  headers: {
    "Authorization": "Bearer prapi_your_key"
  },
});
const data = await response.json();

Python

import requests

headers = {"Authorization": "Bearer prapi_your_key"}
response = requests.get('https://playroom.date/api/tickets/open-count', headers=headers)
print(response.json())

Example Output

{
  "success": true,
  "data": {
    "count": []
  },
  "error": null
}

Try It

Checking sign-in state...

Auth: No authentication

This request has no editable path, query, or body fields.

Request

GET /api/tickets/open-count

curl Equivalent

curl "https://playroom.date/api/tickets/open-count"
Sample Response

Sample Response Body

{
  "success": true,
  "data": {
    "count": []
  },
  "error": null
}