Get a specific title by ID
GET /api/configuration/titles/{titleId}
Success: 200 OK
- Products: Operator (
FOH) - Features: Front of House Generic Access (
FOHGENERIC)
Overview
Returns one title — the salutation shown before a member's name, such as Mr, Ms or Dr — and the gender option it is associated with.
This endpoint returns less than the list endpoint does. It does not look up the gender description or the translations, so genderDescription and translations come back null here even for titles where the list-titles endpoint populates them. If you need the translated forms, or the gender's label rather than its id, list the titles instead of fetching one.
A title that does not exist returns 400, not 404. The lookup finds nothing and the endpoint reports it as a bad request with the plain string GetTitle could not find the id {titleId}. This endpoint does not return 404, so do not branch on it.
Titles are tenant configuration and are freely editable, so both the codes and the descriptions differ between environments. Take them from the list-titles endpoint rather than assuming a standard set.
Endpoint
GET {base_url}/api/configuration/titles/{titleId}
{base_url} is the environment URL issued to your integration. See Authenticating with Gladstone APIs.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
titleId | string | Yes | The title code, up to 15 characters, as returned by the list-titles endpoint or as the title recorded on a member. Codes are upper-cased — the create endpoint upper-cases whatever you supply, and system-generated ones are prefixed TITL — so send the upper-case form. A code that matches nothing returns 400, not 404. |
Sample request
curl -X GET '{base_url}/api/configuration/titles/{titleId}' \
-H 'Authorization: Bearer {accessToken}' \
-H 'X-Use-SSO: true'Response fields
| Field | Type | Description |
|---|---|---|
id | string | Maximum 15 characters. |
description | string | The salutation as it should be displayed — Mr, Dr and so on. This is the text to show a user; id is the value to send back when setting a member's title. |
genderId | integer (int32) | The gender option this title is associated with, matching the id from the gender endpoint. Titles are optionally associated with a gender, and a title with no association comes back as 0 rather than null — treat 0 as "not set" rather than as a real gender id. |
genderDescription | string | The label of the associated gender. Always null from this endpoint. It is populated by the list-titles endpoint; if you need it from a single title, look genderId up against the gender endpoint. |
translations | array of object | Translated forms of the title for other cultures. Always null from this endpoint for the same reason as genderDescription — it is populated only by the list-titles endpoint. The fields below describe the shape you get there. |
translations[].type | string | Which part of the title the translation applies to, since a record can carry more than one translated field per culture. |
translations[].culture | string | The culture code the translation is for, matching the codes configured in the cultures list. One entry exists per culture that has been translated; cultures with no translation are absent rather than present-and-empty. |
translations[].text | string | The translated text itself, to be displayed in place of description when the user is in that culture. Fall back to description when no entry matches the culture you want. |
webVisible | boolean | Whether this title should be offered on public-facing forms. Titles exist that are used by staff but deliberately kept off member-facing sign-up, so filter your dropdown on this rather than showing everything returned. It does not restrict what can be set through the API — a title with webVisible false can still be assigned to a member. |
Sample response
{
"id": "string",
"description": "string",
"genderId": 12345,
"genderDescription": "string",
"translations": [
{
"type": "string",
"culture": "string",
"text": "string"
}
],
"webVisible": true
}Errors
| Status | Meaning | When |
|---|---|---|
400 | Bad request | No title has that code. The body is the plain string GetTitle could not find the id {titleId} — this is what a missing record returns, in place of a 404. |
404 | Not found | Not returned by this endpoint — a missing title returns 400. |
500 | Internal server error | The lookup itself failed. The body is empty. |