# GET /admin/securityprofiles/{id}

> Get one security profile by ID: its name, client ID and secret, authorized redirect URIs, grant type setting, creation and expiry date, or 404 if it's unknown.

- **Product:** DS Server
- **Section:** Documentation
- **Kind:** Endpoint
- **Path:** DS Server > API Reference > Web API > Administration > /securityprofiles/{id} > GET /admin/securityprofiles/{id}
- **702 words**
- **Web URL:** https://docs.textcontrol.com/ds-server/reference/web-api/administration/securityprofiles-id/get/
- **LLMs URL:** https://docs.textcontrol.com/ds-server/reference/web-api/administration/securityprofiles-id/get/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/ds-server/reference/web-api/administration/securityprofiles-id/get/llms-full.txt

---

`GET` `https://example.com/admin/securityprofiles/{id}`

### Description

Gets a specific security profile based on a given ID.

### Examples

The following sample returns the security profile with the ID 1.

```bash
# Request:
curl --location --request GET 'https://trial.dsserver.io/admin/securityprofiles/1' \
    --header 'Authorization: Basic YWRtaW46YWRtaW5hZG1pbg=='

# Result:
{
    "id": 1,
    "name": "Document processing tests",
    "allowClientCredentialsGrantType": true,
    "clientCredentials": {
        "id": "dsserver.lOsVIXdaffsfmT9fUQt8x8cOApWLCHq2",
        "secret": "CBxAjldfsgdhBRuUcBKmPT7SLaIXcof3",
        "authorizedRedirectUris": [
            "https://www.textcontrol.com"
        ]
    },
    "creationDate": "2021-05-27T06:16:38.603-07:00",
    "expiryDate": null,
    "isExpired": false,
    "hasRedirectUriAuthorized": true
}
```

### Authorization

This endpoint supports the Basic authorization method:

#### Basic

| Header field | Description |
|---|---|
| Authorization | The username "admin" and your admin password are combined into a string separated by a colon, e.g.: admin:password. The resulting string is encoded using the RFC2045-MIME variant of Base64, except not limited to 76 char/line. The authorization method and a space i.e. "Basic " is then put before the encoded string. For example: `Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l` |

### Success Response

| Status | Description |
|---|---|
| 200 | On success, the HTTP status code in the response header is 200 (OK). The return value is a JSON object with the fields `id`, `name`, `allowClientCredentialsGrantType`, `clientCredentials` (`id`, `secret` and `authorizedRedirectUris`), `creationDate`, `expiryDate` (`null` if the security profile doesn't expire), `isExpired` (`true` once the expiry date has passed) and `hasRedirectUriAuthorized` (`true` if at least one redirect URI is authorized). |

### Error Response

| Status | Description |
|---|---|
| 401 | A 401 (Unauthorized) is returned, if the user is not authorized. |
| 404 | A 404 (Not Found) with an empty body is returned, if the given ID doesn't match an existing security profile. |

---

## Nearby

- **Previous:** [/admin/securityprofiles/{id}](https://docs.textcontrol.com/ds-server/reference/web-api/administration/securityprofiles-id/llms-full.txt)
- **Next:** [DELETE /admin/securityprofiles/{id}](https://docs.textcontrol.com/ds-server/reference/web-api/administration/securityprofiles-id/delete/llms-full.txt)
