> ## Documentation Index
> Fetch the complete documentation index at: https://developers.pcibooking.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Tokenization Profiles

> Returns a list of pre-configured tokenization profiles. Use the profile name when calling the Tokenize on Response Using Preset Profiles endpoint.

<Card title="Universal Tokenization Guide" icon="book" href="/capture-cards/universal-tokenization">
  Tokenize cards from any source using preset profiles
</Card>

Use this endpoint to retrieve the list of pre-configured tokenization profiles available for your account. Each profile defines a target URL and extraction rules for a specific third-party integration. You need the profile name from this response when calling the [Tokenize on Response Using Preset Profiles](/api-reference/tokenize-cards/tokenize-on-response-using-preset-profiles) endpoint.

**Authentication:** Not required (public endpoint).

## Error Responses

| Code   | HTTP Status | Condition                                                           |
| ------ | ----------- | ------------------------------------------------------------------- |
| `-150` | `500`       | Failed to retrieve the list of available profiles (internal error). |

<RequestExample>
  ```javascript Node.js theme={null}
  const response = await fetch('https://service.pcibooking.net/api/booker');

  const profiles = await response.json();
  profiles.forEach(profile => {
    console.log(`${profile.Name}: ${profile.Description}`);
    if (profile.PathSegmentNames.length > 0) {
      console.log('  Path segments:', profile.PathSegmentNames.join(', '));
    }
  });
  ```

  ```python Python theme={null}
  import requests

  response = requests.get('https://service.pcibooking.net/api/booker')

  profiles = response.json()
  for profile in profiles:
      print(f"{profile['Name']}: {profile['Description']}")
      if profile['PathSegmentNames']:
          print(f"  Path segments: {', '.join(profile['PathSegmentNames'])}")
  ```
</RequestExample>

## Response

**200** - An array of available profiles.

<ParamField body="Name" type="string">
  The profile identifier. Use this value as the `ProfileName` path parameter when calling [Tokenize on Response Using Preset Profiles](/api-reference/tokenize-cards/tokenize-on-response-using-preset-profiles).
</ParamField>

<ParamField body="Description" type="string">
  A description of the profile, including the target URL. If the URL contains dynamic path segments, they are shown as placeholders (e.g. `{SiteMinderCustID}`).
</ParamField>

<ParamField body="PathSegmentNames" type="string[]">
  Dynamic path segment names that must be provided via the `pathSegments` query parameter when submitting a request. Empty array if the profile's URL has no dynamic segments.
</ParamField>

<ResponseExample>
  ```json 200 theme={null}
  [
      {
          "Name": "Agoda",
          "Description": "Request to https://supply.agoda.com/api",
          "PathSegmentNames": []
      },
      {
          "Name": "SiteMinder",
          "Description": "Request to https://ws.siteminder.com/pmsxchangev2/services/{SiteMinderCustID}",
          "PathSegmentNames": [
              "SiteMinderCustID"
          ]
      }
  ]
  ```

  ```json 500 theme={null}
  {
      "code": -150,
      "message": "Internal error",
      "moreInfo": "Failed to retrieve the list of available profiles",
      "errorList": null
  }
  ```
</ResponseExample>
