> For the complete documentation index, see [llms.txt](https://detected.gitbook.io/detected-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://detected.gitbook.io/detected-docs/representatives.md).

# Representatives

Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links.

## Create a representative login link

> Creates a login link for a representative. The representative uses the link to sign in and complete the action given in \`purpose\`. Currently the only supported purpose is \`verify\`.\
> \
> The response includes the time at which the link expires (\`expires\_at\`).

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"schemas":{"PersonLoginLinkCreateRequest":{"title":"Representative Login Link Create Request","required":["purpose"],"properties":{"purpose":{"description":"Purpose of the login link. Currently only `verify` is supported.","type":"string","enum":["verify"],"nullable":false}},"type":"object"},"PersonLinkLoginResourceResponse":{"title":"Representative Login Link Resource","required":["purpose","link","expires_at"],"properties":{"purpose":{"description":"Purpose the login link was created for.","type":"string","enum":["verify"],"nullable":false},"link":{"description":"URL the representative uses to sign in.","type":"string","nullable":false},"expires_at":{"description":"Date and time at which the link expires.","type":"string","nullable":false}},"type":"object"}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}/login-links":{"post":{"tags":["Representatives"],"summary":"Create a representative login link","description":"Creates a login link for a representative. The representative uses the link to sign in and complete the action given in `purpose`. Currently the only supported purpose is `verify`.\n\nThe response includes the time at which the link expires (`expires_at`).","operationId":"73265b841557f696291ea42f7fad3b67","parameters":[{"$ref":"#/components/parameters/uuid"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonLoginLinkCreateRequest"}}}},"responses":{"201":{"description":"Created","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PersonLinkLoginResourceResponse"}},"type":"object"}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Download the IDV report for a representative

> Downloads the identity verification (IDV) report for a representative, as a ZIP file containing a single \`report.pdf\` generated by the IDV provider.\
> \
> \### Constraints\
> \
> \- Only \`idv\` is supported as the \`{type}\` path parameter.\
> \- Only representatives verified with the \`id\_scan\` provider support report downloads.\
> \- Reports are available for \*\*31 days\*\* from the date of the IDV record. After that, the provider deletes the underlying data and the endpoint returns \`410 Gone\`.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"422":{"description":"Unprocessable Content. The request was understood but failed validation. The response lists the fields that failed and why.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"},"example_field":{"description":"Validation errors for one field of the request body. The property name is the name of the field that failed validation (`example_field` is a placeholder).","type":"array","items":{"type":"string"}}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}}},"paths":{"/representatives/{uuid}/verifications/{type}/report":{"get":{"tags":["Representatives"],"summary":"Download the IDV report for a representative","description":"Downloads the identity verification (IDV) report for a representative, as a ZIP file containing a single `report.pdf` generated by the IDV provider.\n\n### Constraints\n\n- Only `idv` is supported as the `{type}` path parameter.\n- Only representatives verified with the `id_scan` provider support report downloads.\n- Reports are available for **31 days** from the date of the IDV record. After that, the provider deletes the underlying data and the endpoint returns `410 Gone`.","operationId":"6db9dab8c81d68149f163b8b9395f24c","parameters":[{"$ref":"#/components/parameters/uuid"},{"name":"type","in":"path","description":"The verification type to download the report for. Currently only `idv` is supported.","required":true,"schema":{"type":"string","enum":["idv"]}}],"responses":{"200":{"description":"OK. The response body is a ZIP file containing the IDV report.","headers":{"Content-Type":{"description":"MIME type returned by the IDV provider. Falls back to `application/octet-stream` when the provider does not return one.","schema":{"type":"string"}},"Content-Disposition":{"description":"Download disposition returned by the IDV provider. Falls back to `attachment` when the provider does not return one.","schema":{"type":"string"}},"Content-Length":{"description":"File size in bytes when provided by the IDV provider.","schema":{"type":"integer"}},"Cache-Control":{"description":"Prevents clients and intermediaries from storing the report.","schema":{"type":"string"}},"Pragma":{"description":"Legacy no-cache directive.","schema":{"type":"string"}},"Expires":{"description":"Legacy cache expiry directive.","schema":{"type":"string"}},"X-Content-Type-Options":{"description":"Prevents MIME type sniffing.","schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"410":{"description":"Gone. The report is no longer available because the 31 day retention period has passed.","content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"type":"object"}}}},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Run a verification for a representative

> Runs a verification for a representative. Currently the supported type is \`id3\`.\
> \
> Each type of verification can use different providers, and the data returned under the \`info\` key is specific to the provider. The examples show what a response might look like, but the structure and content of this data are determined by the external providers and may change without notice.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"schemas":{"PersonVerificationsResourceResponse":{"title":"Representative Verifications Resource Response","required":["type","info","provider"],"properties":{"type":{"description":"The type of verification.","type":"string","enum":["idv","id3","digital_foot_print"],"nullable":false},"provider":{"description":"The provider that carried out the verification.","type":"string","enum":["id_scan","yoti","risk_seal","id3"],"nullable":false},"info":{"description":"The provider's result. Its structure depends on the provider and may change without notice.","type":"object","nullable":false}},"type":"object"}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"422":{"description":"Unprocessable Content. The request was understood but failed validation. The response lists the fields that failed and why.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"},"example_field":{"description":"Validation errors for one field of the request body. The property name is the name of the field that failed validation (`example_field` is a placeholder).","type":"array","items":{"type":"string"}}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}/verifications/{type}":{"post":{"tags":["Representatives"],"summary":"Run a verification for a representative","description":"Runs a verification for a representative. Currently the supported type is `id3`.\n\nEach type of verification can use different providers, and the data returned under the `info` key is specific to the provider. The examples show what a response might look like, but the structure and content of this data are determined by the external providers and may change without notice.","operationId":"23e6a472f7620ff377b8f20a666a29e2","parameters":[{"$ref":"#/components/parameters/uuid"},{"name":"type","in":"path","description":"The type of verification to run. Currently only `id3` is supported.","required":true,"schema":{"type":"string","enum":["id3"]}}],"responses":{"201":{"description":"Created. The verification has completed and the result is in the response.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PersonVerificationsResourceResponse"}},"type":"object"}}}},"202":{"description":"Accepted. The verification has started but has not completed. Retrieve the result later with `GET /representatives/{uuid}/verifications`."},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## List representative verifications

> Returns the verifications held for a representative. Each item shows the verification \`type\`, the \`provider\` that carried it out, and the provider's result under \`info\`.\
> \
> The verification types are:\
> \
> \- \`idv\`\
> \- \`id3\`\
> \- \`digital\_foot\_print\`\
> \
> Each type of verification can use different providers, and the data returned under the \`info\` key is specific to the provider. The examples show what a response might look like, but the structure and content of this data are determined by the external providers and may change without notice.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"schemas":{"PersonVerificationsResourceResponse":{"title":"Representative Verifications Resource Response","required":["type","info","provider"],"properties":{"type":{"description":"The type of verification.","type":"string","enum":["idv","id3","digital_foot_print"],"nullable":false},"provider":{"description":"The provider that carried out the verification.","type":"string","enum":["id_scan","yoti","risk_seal","id3"],"nullable":false},"info":{"description":"The provider's result. Its structure depends on the provider and may change without notice.","type":"object","nullable":false}},"type":"object"}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}/verifications":{"get":{"tags":["Representatives"],"summary":"List representative verifications","description":"Returns the verifications held for a representative. Each item shows the verification `type`, the `provider` that carried it out, and the provider's result under `info`.\n\nThe verification types are:\n\n- `idv`\n- `id3`\n- `digital_foot_print`\n\nEach type of verification can use different providers, and the data returned under the `info` key is specific to the provider. The examples show what a response might look like, but the structure and content of this data are determined by the external providers and may change without notice.","operationId":"d49cb5421a3d7f6d3dcd55f826aab59d","parameters":[{"$ref":"#/components/parameters/uuid"},{"name":"type","in":"query","description":"Filter by verification type. To filter by more than one type, separate the types with commas, for example `idv,id3`.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"description":"The verifications held for the representative.","type":"array","items":{"$ref":"#/components/schemas/PersonVerificationsResourceResponse"}}},"type":"object"}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## List representatives

> Returns a list of representatives for your account. A representative can be a natural person or a legal entity, and may or may not be linked to a profile. The list includes representatives added through the portal or case management, and those converted from external data sources. Use the query parameters to filter the results.\
> \
> The representative types are: \`director\`, \`identity\`, \`ownership\`, \`declaratory\`, \`principal\`, \`director\_company\`, \`treasurer\`, \`secretary\`, \`syndicator\`, \`member\`, \`agent\`, \`designated\_member\`, \`club\_manager\`, \`authorised\_representative\`, \`authorised\_signatory\`, \`trustee\_company\`, \`trustee\`, \`partner\_company\`, \`partner\`, \`syndicate\_manager\`, \`individual\`, \`lead\_partner\`, \`shareholder\`, \`shareholder\_company\`, \`shareholder\_entity\`.\
> \
> This endpoint is paginated. Use the \`page\` parameter to request further pages. The \`meta\` and \`links\` objects in the response describe the current page and link to the others.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"order_by":{"name":"order_by","in":"query","description":"Direction to sort the results in: `asc` for ascending or `desc` for descending. Use it together with `sort_by`; it has no effect if `sort_by` is omitted. The default is `asc`.","schema":{"type":"string","enum":["desc","asc"]}},"page":{"name":"page","in":"query","description":"Page number of the results to return, starting from 1. The number of items per page is returned in `meta.per_page`.","schema":{"type":"integer","minimum":1}}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"schemas":{"RepresentativesResource":{"title":"Representative Resource","required":["id","profile_id","customer_reference","is_company","types"],"properties":{"id":{"description":"Representative UUID.","type":"string","nullable":false},"profile_id":{"description":"ID of the profile the representative is linked to.","type":"string","nullable":false},"customer_reference":{"description":"The customer reference of the profile the representative belongs to, as set when the profile was created.","type":"string","nullable":false},"is_company":{"description":"Whether the representative is a legal entity (`true`) or a natural person (`false`).","type":"boolean","nullable":false},"is_linked":{"description":"Whether the representative is linked to another representative record, either as the master or as a child of a link.","type":"boolean","nullable":false},"is_master_link":{"description":"Whether the representative is the master record of a representative link, i.e. other representative records are linked to it.","type":"boolean","nullable":false},"is_child_link":{"description":"Whether the representative is linked to a master representative record.","type":"boolean","nullable":false},"review_status":{"description":"Review status of the representative.","properties":{"status":{"description":"Current review status.","type":"string","enum":["pending","needs_review","verified","rejected","fraud","additional_information","previously_verified"],"nullable":false},"verified_at":{"description":"Date and time the representative was verified, or `null` if they have not been verified.","type":"string","nullable":true},"updated_at":{"description":"Date and time the review status was last updated.","type":"string","nullable":false},"created_at":{"description":"Date and time the review status was created.","type":"string","nullable":false}},"type":"object","nullable":true},"types":{"description":"Types assigned to the representative.","type":"array","items":{"type":"string","enum":["director","identity","ownership","declaratory","principal","director_company","treasurer","secretary","syndicator","member","agent","designated_member","club_manager","authorised_representative","authorised_signatory","trustee_company","trustee","partner_company","partner","syndicate_manager","individual","lead_partner","shareholder","shareholder_company","shareholder_entity"]},"nullable":false},"role_type":{"description":"Role types assigned to the representative: `Director`, `Designated Member`, `Partner`, `Company Principal` or `Other`.","type":"array","items":{"type":"string"},"nullable":true},"full_name":{"description":"Full name of the representative, or the company/legal entity name.","type":"string","nullable":true},"title":{"description":"Title of the representative, for example `Mr` or `Dr`.","type":"string","nullable":true},"professional_profile":{"description":"URL of the representative's professional profile.","type":"string","nullable":true},"country":{"description":"Name of the country of the address.","type":"string","nullable":true},"country_code":{"description":"Country of the address, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"country_of_residence":{"description":"Name of the country of residence.","type":"string","nullable":true},"residence_country_code":{"description":"Country of residence, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"personal_number":{"description":"Personal phone number.","type":"string","nullable":true},"first_name":{"description":"First name.","type":"string","nullable":true},"middle_name":{"description":"Middle name.","type":"string","nullable":true},"last_name":{"description":"Last name.","type":"string","nullable":true},"dob":{"description":"Date of birth, in `YYYY-MM-DD` format.","type":"string","nullable":true},"email":{"description":"Email address of the representative.","type":"string","nullable":true},"job_title":{"description":"Job title.","type":"string","nullable":true},"social_security_number":{"description":"US Social Security number of the representative, in the format `XXX-XX-XXXX`.","type":"string","nullable":true},"social_security_number_last_4":{"description":"Last 4 digits of the representative's US Social Security number.","type":"string","nullable":true},"passport_number":{"description":"Passport number.","type":"string","nullable":true},"landline_number":{"description":"Landline phone number.","type":"string","nullable":true},"apartment_number":{"description":"Apartment number.","type":"string","nullable":true},"address_1":{"description":"First line of the address.","type":"string","nullable":true},"address_2":{"description":"Second line of the address.","type":"string","nullable":true},"city":{"description":"City.","type":"string","nullable":true},"state":{"description":"State or region.","type":"string","nullable":true},"post_code":{"description":"Postcode.","type":"string","nullable":true},"country_of_birth":{"description":"Name of the country of birth.","type":"string","nullable":true},"birth_country_code":{"description":"Country of birth, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"share_percentage":{"description":"Percentage of shares held by the representative.","type":"number","nullable":true},"shareholder_type":{"description":"Type of shareholding. `Direct` or `Indirect` for representatives created through the API; representatives imported from a data source may carry provider-specific values.","type":"string","nullable":true},"nationality":{"description":"Nationality.","type":"string","nullable":true},"nationality_code":{"description":"Nationality, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"person_type_details":{"description":"Extra details that depend on the representative's type, such as the appointment date or ownership percentage.","properties":{"appointment_date":{"description":"Date the representative was appointed.","type":"string","nullable":true},"majority":{"description":"Whether the representative's ownership meets the majority threshold given in `majority_percentage`.","type":"boolean","nullable":true},"governing":{"description":"Whether the representative has a governing role.","type":"boolean","nullable":true},"responsibility":{"description":"Whether the representative has significant responsibility.","type":"boolean","nullable":true},"majority_percentage":{"description":"The majority ownership threshold percentage, taken from the portal configuration.","type":"string","nullable":true},"specific_ownership_percentage":{"description":"Percentage of the company owned by the representative.","type":"string","nullable":true}},"type":"object","nullable":true},"copy_address":{"description":"Whether the trading address is the same as the registered address. Only set for `director_company` representatives.","type":"boolean","nullable":true},"updated_at":{"description":"Date and time the representative was last updated.","type":"string","nullable":true},"created_at":{"description":"Date and time the representative was created.","type":"string","nullable":true},"screenings":{"description":"AML screening results for the representative.","properties":{"details":{"description":"Details of the screening search that was performed.","properties":{"provider":{"description":"Screening provider the search was performed with.","type":"string","enum":["ion_group","comply_advantage","lseg_zfs"],"nullable":false},"performed_at":{"description":"Date the screening was performed.","type":"string","nullable":false},"search_term":{"description":"Term the representative was searched with against the provider.","type":"string","nullable":false},"search_payload":{"description":"Search request sent to the provider; its shape is provider-specific.","type":"object","nullable":true},"is_monitored":{"description":"Whether the representative is enrolled in ongoing monitoring with the provider.","type":"boolean","nullable":false}},"type":"object","nullable":false},"screenings":{"description":"List of screening matches returned by the provider.","type":"array","items":{"type":"object"},"nullable":true}},"type":"object","nullable":true}},"type":"object"},"LinksResource":{"title":"Links Resource","properties":{"first":{"description":"URL of the first page of results.","type":"string","nullable":false},"last":{"description":"URL of the last page of results.","type":"string","nullable":false},"prev":{"description":"URL of the previous page of results, or null if there is none.","type":"string","nullable":false},"next":{"description":"URL of the next page of results, or null if there is none.","type":"string","nullable":false}},"type":"object"},"MetaResource":{"title":"Meta Resource","properties":{"current_page":{"description":"Number of the current page.","type":"number","nullable":false},"from":{"description":"Position of the first item on this page, counted across all pages.","type":"number","nullable":false},"last_page":{"description":"Number of the last page.","type":"number","nullable":false},"links":{"description":"Pagination links, including links to the previous and next pages.","type":"array","items":{"properties":{"url":{"description":"URL of the page, or `null` if there is no such page.","type":"string","nullable":false},"label":{"description":"Text to display for the link, for example a page number or \"Previous\".","type":"string","nullable":false},"active":{"description":"Whether this link is for the current page.","type":"boolean","nullable":false}},"type":"object"},"nullable":false},"path":{"description":"Base URL of the endpoint, without query parameters.","type":"string","nullable":false},"per_page":{"description":"Number of items per page.","type":"number","nullable":false},"to":{"description":"Position of the last item on this page, counted across all pages.","type":"number","nullable":false},"total":{"description":"Total number of items across all pages.","type":"number","nullable":false}},"type":"object"}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives":{"get":{"tags":["Representatives"],"summary":"List representatives","description":"Returns a list of representatives for your account. A representative can be a natural person or a legal entity, and may or may not be linked to a profile. The list includes representatives added through the portal or case management, and those converted from external data sources. Use the query parameters to filter the results.\n\nThe representative types are: `director`, `identity`, `ownership`, `declaratory`, `principal`, `director_company`, `treasurer`, `secretary`, `syndicator`, `member`, `agent`, `designated_member`, `club_manager`, `authorised_representative`, `authorised_signatory`, `trustee_company`, `trustee`, `partner_company`, `partner`, `syndicate_manager`, `individual`, `lead_partner`, `shareholder`, `shareholder_company`, `shareholder_entity`.\n\nThis endpoint is paginated. Use the `page` parameter to request further pages. The `meta` and `links` objects in the response describe the current page and link to the others.","operationId":"4bc7424550b7b4dc4beb0dc398fad418","parameters":[{"$ref":"#/components/parameters/order_by"},{"name":"sort_by","in":"query","description":"The field to sort the results by. Use it together with `order_by` to choose the direction; if `order_by` is omitted, results are sorted in ascending order (`asc`). If `sort_by` is omitted, results are returned in no guaranteed order.\n\nSupported fields:\n- `created_at`\n- `updated_at`\n- `id`\n- `email`\n- `country`\n- `types` (a single value or a comma-separated list, for example `principal,director`)\n","schema":{"type":"string"}},{"$ref":"#/components/parameters/page"},{"name":"id","in":"query","description":"Filter by representative UUID. If a match is found, only that representative is returned.","schema":{"type":"string","format":"uuid"}},{"name":"is_company","in":"query","description":"Filter by whether the representative is a legal entity (`true`) or a natural person (`false`).","schema":{"type":"boolean"}},{"name":"customer_reference","in":"query","description":"Filter by the customer reference that was set when the profile was created.","schema":{"type":"string"}},{"name":"profile_id","in":"query","description":"Filter by profile ID. Returns the representatives linked to that profile.","schema":{"type":"string","format":"uuid"}},{"name":"email","in":"query","description":"Filter by email address.","schema":{"type":"string"}},{"name":"types","in":"query","description":"Filter by representative type. To filter by more than one type, separate the types with commas, for example `principal,director`. A representative can have more than one type.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"description":"List of representatives","type":"array","items":{"$ref":"#/components/schemas/RepresentativesResource"}},"links":{"$ref":"#/components/schemas/LinksResource"},"meta":{"$ref":"#/components/schemas/MetaResource"}},"type":"object"}}}},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Create a representative

> Creates a representative and links it to a profile. Include the \`profile\_id\` of the profile the representative will be linked to. Both natural persons and legal entities are supported.\
> \
> The representative types are: \`director\`, \`identity\`, \`ownership\`, \`declaratory\`, \`principal\`, \`director\_company\`, \`treasurer\`, \`secretary\`, \`syndicator\`, \`member\`, \`agent\`, \`designated\_member\`, \`club\_manager\`, \`authorised\_representative\`, \`authorised\_signatory\`, \`trustee\_company\`, \`trustee\`, \`partner\_company\`, \`partner\`, \`syndicate\_manager\`, \`individual\`, \`lead\_partner\`, \`shareholder\`, \`shareholder\_company\`, \`shareholder\_entity\`.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"schemas":{"PersonCreateRequest":{"title":"Representative Create Request","required":["types","email","name","profile_id"],"properties":{"name":{"description":"Name of the representative.","required":["first_name","last_name"],"properties":{"first_name":{"description":"First name.","type":"string","nullable":false},"middle_name":{"description":"Middle name.","type":"string","nullable":false},"last_name":{"description":"Last name.","type":"string","nullable":false}},"type":"object","nullable":false},"email":{"description":"Email address of the representative.","type":"string","nullable":false},"title":{"description":"Title of the representative.","type":"string","enum":["Mr","Mrs","Ms","Miss","Mx","Dr","Rev"],"nullable":true},"profile_id":{"description":"ID of the profile to link the representative to.","type":"string","nullable":false},"review_status":{"description":"Review status of the representative.","type":"string","enum":["pending","needs_review","verified","rejected","fraud","additional_information","previously_verified"],"nullable":true},"types":{"description":"Types assigned to the representative. A representative can have more than one type.","type":"array","items":{"type":"string","enum":["director","identity","ownership","declaratory","principal","director_company","treasurer","secretary","syndicator","member","agent","designated_member","club_manager","authorised_representative","authorised_signatory","trustee_company","trustee","partner_company","partner","syndicate_manager","individual","lead_partner","shareholder","shareholder_company","shareholder_entity"]},"nullable":false},"dob":{"description":"Date of birth, in `YYYY-MM-DD` format.","type":"string","nullable":false},"role_type":{"description":"Role type of the representative.","type":"array","items":{"type":"string","enum":["Director","Designated Member","Partner","Company Principal","Other"]},"nullable":false},"professional_profile":{"description":"URL of the representative's professional profile.","type":"string","nullable":false},"job_title":{"description":"Job title.","type":"string","nullable":false},"residence_country_code":{"description":"Country of residence, ISO 3166-1 alpha-2 country code.","type":"string","nullable":false},"birth_country_code":{"description":"Country of birth, ISO 3166-1 alpha-2 country code.","type":"string","nullable":false},"nationality":{"description":"Nationality of the representative.","type":"string","nullable":false},"address":{"description":"Address of the representative.","properties":{"apartment_number":{"description":"Apartment number.","type":"string","nullable":false},"address_1":{"description":"First line of the address.","type":"string","nullable":false},"address_2":{"description":"Second line of the address.","type":"string","nullable":false},"city":{"description":"City.","type":"string","nullable":false},"state":{"description":"State or region.","type":"string","nullable":false},"postcode":{"description":"Postcode.","type":"string","nullable":false},"country":{"description":"Country of the address, ISO 3166-1 alpha-2 country code.","type":"string","nullable":false}},"type":"object","nullable":false},"personal_number":{"description":"Personal phone number.","type":"string","nullable":false},"shareholder_type":{"description":"Type of shareholding: `Direct` or `Indirect`.","type":"string","enum":["Direct","Indirect"],"nullable":false},"share_percentage":{"description":"Percentage of shares held by the representative.","type":"number","nullable":false}},"type":"object"},"RepresentativesResource":{"title":"Representative Resource","required":["id","profile_id","customer_reference","is_company","types"],"properties":{"id":{"description":"Representative UUID.","type":"string","nullable":false},"profile_id":{"description":"ID of the profile the representative is linked to.","type":"string","nullable":false},"customer_reference":{"description":"The customer reference of the profile the representative belongs to, as set when the profile was created.","type":"string","nullable":false},"is_company":{"description":"Whether the representative is a legal entity (`true`) or a natural person (`false`).","type":"boolean","nullable":false},"is_linked":{"description":"Whether the representative is linked to another representative record, either as the master or as a child of a link.","type":"boolean","nullable":false},"is_master_link":{"description":"Whether the representative is the master record of a representative link, i.e. other representative records are linked to it.","type":"boolean","nullable":false},"is_child_link":{"description":"Whether the representative is linked to a master representative record.","type":"boolean","nullable":false},"review_status":{"description":"Review status of the representative.","properties":{"status":{"description":"Current review status.","type":"string","enum":["pending","needs_review","verified","rejected","fraud","additional_information","previously_verified"],"nullable":false},"verified_at":{"description":"Date and time the representative was verified, or `null` if they have not been verified.","type":"string","nullable":true},"updated_at":{"description":"Date and time the review status was last updated.","type":"string","nullable":false},"created_at":{"description":"Date and time the review status was created.","type":"string","nullable":false}},"type":"object","nullable":true},"types":{"description":"Types assigned to the representative.","type":"array","items":{"type":"string","enum":["director","identity","ownership","declaratory","principal","director_company","treasurer","secretary","syndicator","member","agent","designated_member","club_manager","authorised_representative","authorised_signatory","trustee_company","trustee","partner_company","partner","syndicate_manager","individual","lead_partner","shareholder","shareholder_company","shareholder_entity"]},"nullable":false},"role_type":{"description":"Role types assigned to the representative: `Director`, `Designated Member`, `Partner`, `Company Principal` or `Other`.","type":"array","items":{"type":"string"},"nullable":true},"full_name":{"description":"Full name of the representative, or the company/legal entity name.","type":"string","nullable":true},"title":{"description":"Title of the representative, for example `Mr` or `Dr`.","type":"string","nullable":true},"professional_profile":{"description":"URL of the representative's professional profile.","type":"string","nullable":true},"country":{"description":"Name of the country of the address.","type":"string","nullable":true},"country_code":{"description":"Country of the address, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"country_of_residence":{"description":"Name of the country of residence.","type":"string","nullable":true},"residence_country_code":{"description":"Country of residence, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"personal_number":{"description":"Personal phone number.","type":"string","nullable":true},"first_name":{"description":"First name.","type":"string","nullable":true},"middle_name":{"description":"Middle name.","type":"string","nullable":true},"last_name":{"description":"Last name.","type":"string","nullable":true},"dob":{"description":"Date of birth, in `YYYY-MM-DD` format.","type":"string","nullable":true},"email":{"description":"Email address of the representative.","type":"string","nullable":true},"job_title":{"description":"Job title.","type":"string","nullable":true},"social_security_number":{"description":"US Social Security number of the representative, in the format `XXX-XX-XXXX`.","type":"string","nullable":true},"social_security_number_last_4":{"description":"Last 4 digits of the representative's US Social Security number.","type":"string","nullable":true},"passport_number":{"description":"Passport number.","type":"string","nullable":true},"landline_number":{"description":"Landline phone number.","type":"string","nullable":true},"apartment_number":{"description":"Apartment number.","type":"string","nullable":true},"address_1":{"description":"First line of the address.","type":"string","nullable":true},"address_2":{"description":"Second line of the address.","type":"string","nullable":true},"city":{"description":"City.","type":"string","nullable":true},"state":{"description":"State or region.","type":"string","nullable":true},"post_code":{"description":"Postcode.","type":"string","nullable":true},"country_of_birth":{"description":"Name of the country of birth.","type":"string","nullable":true},"birth_country_code":{"description":"Country of birth, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"share_percentage":{"description":"Percentage of shares held by the representative.","type":"number","nullable":true},"shareholder_type":{"description":"Type of shareholding. `Direct` or `Indirect` for representatives created through the API; representatives imported from a data source may carry provider-specific values.","type":"string","nullable":true},"nationality":{"description":"Nationality.","type":"string","nullable":true},"nationality_code":{"description":"Nationality, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"person_type_details":{"description":"Extra details that depend on the representative's type, such as the appointment date or ownership percentage.","properties":{"appointment_date":{"description":"Date the representative was appointed.","type":"string","nullable":true},"majority":{"description":"Whether the representative's ownership meets the majority threshold given in `majority_percentage`.","type":"boolean","nullable":true},"governing":{"description":"Whether the representative has a governing role.","type":"boolean","nullable":true},"responsibility":{"description":"Whether the representative has significant responsibility.","type":"boolean","nullable":true},"majority_percentage":{"description":"The majority ownership threshold percentage, taken from the portal configuration.","type":"string","nullable":true},"specific_ownership_percentage":{"description":"Percentage of the company owned by the representative.","type":"string","nullable":true}},"type":"object","nullable":true},"copy_address":{"description":"Whether the trading address is the same as the registered address. Only set for `director_company` representatives.","type":"boolean","nullable":true},"updated_at":{"description":"Date and time the representative was last updated.","type":"string","nullable":true},"created_at":{"description":"Date and time the representative was created.","type":"string","nullable":true},"screenings":{"description":"AML screening results for the representative.","properties":{"details":{"description":"Details of the screening search that was performed.","properties":{"provider":{"description":"Screening provider the search was performed with.","type":"string","enum":["ion_group","comply_advantage","lseg_zfs"],"nullable":false},"performed_at":{"description":"Date the screening was performed.","type":"string","nullable":false},"search_term":{"description":"Term the representative was searched with against the provider.","type":"string","nullable":false},"search_payload":{"description":"Search request sent to the provider; its shape is provider-specific.","type":"object","nullable":true},"is_monitored":{"description":"Whether the representative is enrolled in ongoing monitoring with the provider.","type":"boolean","nullable":false}},"type":"object","nullable":false},"screenings":{"description":"List of screening matches returned by the provider.","type":"array","items":{"type":"object"},"nullable":true}},"type":"object","nullable":true}},"type":"object"}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"responses":{"400":{"description":"Bad Request. The request could not be processed because it is invalid. The `message` field explains why.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"422":{"description":"Unprocessable Content. The request was understood but failed validation. The response lists the fields that failed and why.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"},"example_field":{"description":"Validation errors for one field of the request body. The property name is the name of the field that failed validation (`example_field` is a placeholder).","type":"array","items":{"type":"string"}}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives":{"post":{"tags":["Representatives"],"summary":"Create a representative","description":"Creates a representative and links it to a profile. Include the `profile_id` of the profile the representative will be linked to. Both natural persons and legal entities are supported.\n\nThe representative types are: `director`, `identity`, `ownership`, `declaratory`, `principal`, `director_company`, `treasurer`, `secretary`, `syndicator`, `member`, `agent`, `designated_member`, `club_manager`, `authorised_representative`, `authorised_signatory`, `trustee_company`, `trustee`, `partner_company`, `partner`, `syndicate_manager`, `individual`, `lead_partner`, `shareholder`, `shareholder_company`, `shareholder_entity`.","operationId":"b541cddd0764f6924d11b4ff787ae9ec","parameters":[{"name":"screen","in":"query","description":"Whether to run AML screening on the representative when they are added. Send `1` to screen the representative, or `0` to add them without screening. The default is `1`.","schema":{"type":"integer","enum":[0,1]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonCreateRequest"}}}},"responses":{"201":{"description":"Created","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/RepresentativesResource"}},"type":"object"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Retrieve a representative

> Returns a single representative, including their review status, type details and AML screening results.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"schemas":{"RepresentativesResource":{"title":"Representative Resource","required":["id","profile_id","customer_reference","is_company","types"],"properties":{"id":{"description":"Representative UUID.","type":"string","nullable":false},"profile_id":{"description":"ID of the profile the representative is linked to.","type":"string","nullable":false},"customer_reference":{"description":"The customer reference of the profile the representative belongs to, as set when the profile was created.","type":"string","nullable":false},"is_company":{"description":"Whether the representative is a legal entity (`true`) or a natural person (`false`).","type":"boolean","nullable":false},"is_linked":{"description":"Whether the representative is linked to another representative record, either as the master or as a child of a link.","type":"boolean","nullable":false},"is_master_link":{"description":"Whether the representative is the master record of a representative link, i.e. other representative records are linked to it.","type":"boolean","nullable":false},"is_child_link":{"description":"Whether the representative is linked to a master representative record.","type":"boolean","nullable":false},"review_status":{"description":"Review status of the representative.","properties":{"status":{"description":"Current review status.","type":"string","enum":["pending","needs_review","verified","rejected","fraud","additional_information","previously_verified"],"nullable":false},"verified_at":{"description":"Date and time the representative was verified, or `null` if they have not been verified.","type":"string","nullable":true},"updated_at":{"description":"Date and time the review status was last updated.","type":"string","nullable":false},"created_at":{"description":"Date and time the review status was created.","type":"string","nullable":false}},"type":"object","nullable":true},"types":{"description":"Types assigned to the representative.","type":"array","items":{"type":"string","enum":["director","identity","ownership","declaratory","principal","director_company","treasurer","secretary","syndicator","member","agent","designated_member","club_manager","authorised_representative","authorised_signatory","trustee_company","trustee","partner_company","partner","syndicate_manager","individual","lead_partner","shareholder","shareholder_company","shareholder_entity"]},"nullable":false},"role_type":{"description":"Role types assigned to the representative: `Director`, `Designated Member`, `Partner`, `Company Principal` or `Other`.","type":"array","items":{"type":"string"},"nullable":true},"full_name":{"description":"Full name of the representative, or the company/legal entity name.","type":"string","nullable":true},"title":{"description":"Title of the representative, for example `Mr` or `Dr`.","type":"string","nullable":true},"professional_profile":{"description":"URL of the representative's professional profile.","type":"string","nullable":true},"country":{"description":"Name of the country of the address.","type":"string","nullable":true},"country_code":{"description":"Country of the address, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"country_of_residence":{"description":"Name of the country of residence.","type":"string","nullable":true},"residence_country_code":{"description":"Country of residence, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"personal_number":{"description":"Personal phone number.","type":"string","nullable":true},"first_name":{"description":"First name.","type":"string","nullable":true},"middle_name":{"description":"Middle name.","type":"string","nullable":true},"last_name":{"description":"Last name.","type":"string","nullable":true},"dob":{"description":"Date of birth, in `YYYY-MM-DD` format.","type":"string","nullable":true},"email":{"description":"Email address of the representative.","type":"string","nullable":true},"job_title":{"description":"Job title.","type":"string","nullable":true},"social_security_number":{"description":"US Social Security number of the representative, in the format `XXX-XX-XXXX`.","type":"string","nullable":true},"social_security_number_last_4":{"description":"Last 4 digits of the representative's US Social Security number.","type":"string","nullable":true},"passport_number":{"description":"Passport number.","type":"string","nullable":true},"landline_number":{"description":"Landline phone number.","type":"string","nullable":true},"apartment_number":{"description":"Apartment number.","type":"string","nullable":true},"address_1":{"description":"First line of the address.","type":"string","nullable":true},"address_2":{"description":"Second line of the address.","type":"string","nullable":true},"city":{"description":"City.","type":"string","nullable":true},"state":{"description":"State or region.","type":"string","nullable":true},"post_code":{"description":"Postcode.","type":"string","nullable":true},"country_of_birth":{"description":"Name of the country of birth.","type":"string","nullable":true},"birth_country_code":{"description":"Country of birth, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"share_percentage":{"description":"Percentage of shares held by the representative.","type":"number","nullable":true},"shareholder_type":{"description":"Type of shareholding. `Direct` or `Indirect` for representatives created through the API; representatives imported from a data source may carry provider-specific values.","type":"string","nullable":true},"nationality":{"description":"Nationality.","type":"string","nullable":true},"nationality_code":{"description":"Nationality, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"person_type_details":{"description":"Extra details that depend on the representative's type, such as the appointment date or ownership percentage.","properties":{"appointment_date":{"description":"Date the representative was appointed.","type":"string","nullable":true},"majority":{"description":"Whether the representative's ownership meets the majority threshold given in `majority_percentage`.","type":"boolean","nullable":true},"governing":{"description":"Whether the representative has a governing role.","type":"boolean","nullable":true},"responsibility":{"description":"Whether the representative has significant responsibility.","type":"boolean","nullable":true},"majority_percentage":{"description":"The majority ownership threshold percentage, taken from the portal configuration.","type":"string","nullable":true},"specific_ownership_percentage":{"description":"Percentage of the company owned by the representative.","type":"string","nullable":true}},"type":"object","nullable":true},"copy_address":{"description":"Whether the trading address is the same as the registered address. Only set for `director_company` representatives.","type":"boolean","nullable":true},"updated_at":{"description":"Date and time the representative was last updated.","type":"string","nullable":true},"created_at":{"description":"Date and time the representative was created.","type":"string","nullable":true},"screenings":{"description":"AML screening results for the representative.","properties":{"details":{"description":"Details of the screening search that was performed.","properties":{"provider":{"description":"Screening provider the search was performed with.","type":"string","enum":["ion_group","comply_advantage","lseg_zfs"],"nullable":false},"performed_at":{"description":"Date the screening was performed.","type":"string","nullable":false},"search_term":{"description":"Term the representative was searched with against the provider.","type":"string","nullable":false},"search_payload":{"description":"Search request sent to the provider; its shape is provider-specific.","type":"object","nullable":true},"is_monitored":{"description":"Whether the representative is enrolled in ongoing monitoring with the provider.","type":"boolean","nullable":false}},"type":"object","nullable":false},"screenings":{"description":"List of screening matches returned by the provider.","type":"array","items":{"type":"object"},"nullable":true}},"type":"object","nullable":true}},"type":"object"}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}":{"get":{"tags":["Representatives"],"summary":"Retrieve a representative","description":"Returns a single representative, including their review status, type details and AML screening results.","operationId":"5be1b0c7c945a48fe0566e9b6778c6d9","parameters":[{"$ref":"#/components/parameters/uuid"}],"responses":{"200":{"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/RepresentativesResource"}},"type":"object"}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Delete a representative

> Deletes a representative. This cannot be undone. Screening monitoring for the representative is stopped before the deletion.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}":{"delete":{"tags":["Representatives"],"summary":"Delete a representative","description":"Deletes a representative. This cannot be undone. Screening monitoring for the representative is stopped before the deletion.","operationId":"c03da3c04eb4c3a1f8ab9231c4d85889","parameters":[{"$ref":"#/components/parameters/uuid"}],"responses":{"204":{"description":"No Content. The representative was deleted.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Update a representative

> Updates a representative. All fields are optional; omitted fields keep their current values. Types sent in \`types\` are added to the representative's existing types.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"schemas":{"PersonUpdateRequest":{"title":"Representative Update Request","description":"Changes to a representative. All fields are optional; omitted fields keep their current values.","properties":{"name":{"description":"Name of the representative.","properties":{"first_name":{"description":"First name.","type":"string","nullable":false},"middle_name":{"description":"Middle name.","type":"string","nullable":false},"last_name":{"description":"Last name.","type":"string","nullable":false}},"type":"object","nullable":false},"email":{"description":"Email address of the representative.","type":"string","nullable":false},"title":{"description":"Title of the representative.","type":"string","enum":["Mr","Mrs","Ms","Miss","Mx","Dr","Rev"],"nullable":true},"review_status":{"description":"Review status of the representative.","type":"string","enum":["pending","needs_review","verified","rejected","fraud","additional_information","previously_verified"],"nullable":true},"types":{"description":"Types assigned to the representative. A representative can have more than one type. Types sent here are added to the representative's existing types.","type":"array","items":{"type":"string","enum":["director","identity","ownership","declaratory","principal","director_company","treasurer","secretary","syndicator","member","agent","designated_member","club_manager","authorised_representative","authorised_signatory","trustee_company","trustee","partner_company","partner","syndicate_manager","individual","lead_partner","shareholder","shareholder_company","shareholder_entity"]},"nullable":false},"dob":{"description":"Date of birth, in `YYYY-MM-DD` format.","type":"string","nullable":false},"role_type":{"description":"Role type of the representative.","type":"array","items":{"type":"string","enum":["Director","Designated Member","Partner","Company Principal","Other"]},"nullable":false},"professional_profile":{"description":"URL of the representative's professional profile.","type":"string","nullable":false},"job_title":{"description":"Job title.","type":"string","nullable":false},"residence_country_code":{"description":"Country of residence, ISO 3166-1 alpha-2 country code.","type":"string","nullable":false},"birth_country_code":{"description":"Country of birth, ISO 3166-1 alpha-2 country code.","type":"string","nullable":false},"nationality":{"description":"Nationality of the representative.","type":"string","nullable":false},"address":{"description":"Address of the representative.","properties":{"apartment_number":{"description":"Apartment number.","type":"string","nullable":false},"address_1":{"description":"First line of the address.","type":"string","nullable":false},"address_2":{"description":"Second line of the address.","type":"string","nullable":false},"city":{"description":"City.","type":"string","nullable":false},"state":{"description":"State or region.","type":"string","nullable":false},"postcode":{"description":"Postcode.","type":"string","nullable":false},"country":{"description":"Country of the address, ISO 3166-1 alpha-2 country code.","type":"string","nullable":false}},"type":"object","nullable":false},"personal_number":{"description":"Personal phone number.","type":"string","nullable":false},"shareholder_type":{"description":"Type of shareholding: `Direct` or `Indirect`.","type":"string","enum":["Direct","Indirect"],"nullable":false},"share_percentage":{"description":"Percentage of shares held by the representative.","type":"number","nullable":false}},"type":"object"},"RepresentativesResource":{"title":"Representative Resource","required":["id","profile_id","customer_reference","is_company","types"],"properties":{"id":{"description":"Representative UUID.","type":"string","nullable":false},"profile_id":{"description":"ID of the profile the representative is linked to.","type":"string","nullable":false},"customer_reference":{"description":"The customer reference of the profile the representative belongs to, as set when the profile was created.","type":"string","nullable":false},"is_company":{"description":"Whether the representative is a legal entity (`true`) or a natural person (`false`).","type":"boolean","nullable":false},"is_linked":{"description":"Whether the representative is linked to another representative record, either as the master or as a child of a link.","type":"boolean","nullable":false},"is_master_link":{"description":"Whether the representative is the master record of a representative link, i.e. other representative records are linked to it.","type":"boolean","nullable":false},"is_child_link":{"description":"Whether the representative is linked to a master representative record.","type":"boolean","nullable":false},"review_status":{"description":"Review status of the representative.","properties":{"status":{"description":"Current review status.","type":"string","enum":["pending","needs_review","verified","rejected","fraud","additional_information","previously_verified"],"nullable":false},"verified_at":{"description":"Date and time the representative was verified, or `null` if they have not been verified.","type":"string","nullable":true},"updated_at":{"description":"Date and time the review status was last updated.","type":"string","nullable":false},"created_at":{"description":"Date and time the review status was created.","type":"string","nullable":false}},"type":"object","nullable":true},"types":{"description":"Types assigned to the representative.","type":"array","items":{"type":"string","enum":["director","identity","ownership","declaratory","principal","director_company","treasurer","secretary","syndicator","member","agent","designated_member","club_manager","authorised_representative","authorised_signatory","trustee_company","trustee","partner_company","partner","syndicate_manager","individual","lead_partner","shareholder","shareholder_company","shareholder_entity"]},"nullable":false},"role_type":{"description":"Role types assigned to the representative: `Director`, `Designated Member`, `Partner`, `Company Principal` or `Other`.","type":"array","items":{"type":"string"},"nullable":true},"full_name":{"description":"Full name of the representative, or the company/legal entity name.","type":"string","nullable":true},"title":{"description":"Title of the representative, for example `Mr` or `Dr`.","type":"string","nullable":true},"professional_profile":{"description":"URL of the representative's professional profile.","type":"string","nullable":true},"country":{"description":"Name of the country of the address.","type":"string","nullable":true},"country_code":{"description":"Country of the address, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"country_of_residence":{"description":"Name of the country of residence.","type":"string","nullable":true},"residence_country_code":{"description":"Country of residence, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"personal_number":{"description":"Personal phone number.","type":"string","nullable":true},"first_name":{"description":"First name.","type":"string","nullable":true},"middle_name":{"description":"Middle name.","type":"string","nullable":true},"last_name":{"description":"Last name.","type":"string","nullable":true},"dob":{"description":"Date of birth, in `YYYY-MM-DD` format.","type":"string","nullable":true},"email":{"description":"Email address of the representative.","type":"string","nullable":true},"job_title":{"description":"Job title.","type":"string","nullable":true},"social_security_number":{"description":"US Social Security number of the representative, in the format `XXX-XX-XXXX`.","type":"string","nullable":true},"social_security_number_last_4":{"description":"Last 4 digits of the representative's US Social Security number.","type":"string","nullable":true},"passport_number":{"description":"Passport number.","type":"string","nullable":true},"landline_number":{"description":"Landline phone number.","type":"string","nullable":true},"apartment_number":{"description":"Apartment number.","type":"string","nullable":true},"address_1":{"description":"First line of the address.","type":"string","nullable":true},"address_2":{"description":"Second line of the address.","type":"string","nullable":true},"city":{"description":"City.","type":"string","nullable":true},"state":{"description":"State or region.","type":"string","nullable":true},"post_code":{"description":"Postcode.","type":"string","nullable":true},"country_of_birth":{"description":"Name of the country of birth.","type":"string","nullable":true},"birth_country_code":{"description":"Country of birth, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"share_percentage":{"description":"Percentage of shares held by the representative.","type":"number","nullable":true},"shareholder_type":{"description":"Type of shareholding. `Direct` or `Indirect` for representatives created through the API; representatives imported from a data source may carry provider-specific values.","type":"string","nullable":true},"nationality":{"description":"Nationality.","type":"string","nullable":true},"nationality_code":{"description":"Nationality, ISO 3166-1 alpha-2 country code.","type":"string","nullable":true},"person_type_details":{"description":"Extra details that depend on the representative's type, such as the appointment date or ownership percentage.","properties":{"appointment_date":{"description":"Date the representative was appointed.","type":"string","nullable":true},"majority":{"description":"Whether the representative's ownership meets the majority threshold given in `majority_percentage`.","type":"boolean","nullable":true},"governing":{"description":"Whether the representative has a governing role.","type":"boolean","nullable":true},"responsibility":{"description":"Whether the representative has significant responsibility.","type":"boolean","nullable":true},"majority_percentage":{"description":"The majority ownership threshold percentage, taken from the portal configuration.","type":"string","nullable":true},"specific_ownership_percentage":{"description":"Percentage of the company owned by the representative.","type":"string","nullable":true}},"type":"object","nullable":true},"copy_address":{"description":"Whether the trading address is the same as the registered address. Only set for `director_company` representatives.","type":"boolean","nullable":true},"updated_at":{"description":"Date and time the representative was last updated.","type":"string","nullable":true},"created_at":{"description":"Date and time the representative was created.","type":"string","nullable":true},"screenings":{"description":"AML screening results for the representative.","properties":{"details":{"description":"Details of the screening search that was performed.","properties":{"provider":{"description":"Screening provider the search was performed with.","type":"string","enum":["ion_group","comply_advantage","lseg_zfs"],"nullable":false},"performed_at":{"description":"Date the screening was performed.","type":"string","nullable":false},"search_term":{"description":"Term the representative was searched with against the provider.","type":"string","nullable":false},"search_payload":{"description":"Search request sent to the provider; its shape is provider-specific.","type":"object","nullable":true},"is_monitored":{"description":"Whether the representative is enrolled in ongoing monitoring with the provider.","type":"boolean","nullable":false}},"type":"object","nullable":false},"screenings":{"description":"List of screening matches returned by the provider.","type":"array","items":{"type":"object"},"nullable":true}},"type":"object","nullable":true}},"type":"object"}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"responses":{"400":{"description":"Bad Request. The request could not be processed because it is invalid. The `message` field explains why.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"422":{"description":"Unprocessable Content. The request was understood but failed validation. The response lists the fields that failed and why.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"},"example_field":{"description":"Validation errors for one field of the request body. The property name is the name of the field that failed validation (`example_field` is a placeholder).","type":"array","items":{"type":"string"}}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}":{"patch":{"tags":["Representatives"],"summary":"Update a representative","description":"Updates a representative. All fields are optional; omitted fields keep their current values. Types sent in `types` are added to the representative's existing types.","operationId":"073a2ef443ca6ac486b9af42a062cdc0","parameters":[{"$ref":"#/components/parameters/uuid"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonUpdateRequest"}}}},"responses":{"200":{"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/RepresentativesResource"}},"type":"object"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Stop screening monitoring for a representative

> Stops screening monitoring for a single representative. Each stop is confirmed with the underlying data provider before the change is saved. If a request returns a \`502\` response, the response lists which targets failed. You can safely retry the request, because targets that have already stopped are skipped.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}}},"paths":{"/representatives/{uuid}/monitoring/{action}":{"post":{"tags":["Representatives"],"summary":"Stop screening monitoring for a representative","description":"Stops screening monitoring for a single representative. Each stop is confirmed with the underlying data provider before the change is saved. If a request returns a `502` response, the response lists which targets failed. You can safely retry the request, because targets that have already stopped are skipped.","operationId":"representative-monitoring-action-endpoint","parameters":[{"name":"uuid","in":"path","description":"The UUID of the representative.","required":true,"schema":{"type":"string"}},{"name":"action","in":"path","description":"The monitoring action to perform. Currently only `stop` is supported.","required":true,"schema":{"type":"string","enum":["stop"]}}],"responses":{"200":{"description":"OK. Monitoring has been stopped and confirmed with all providers."},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"502":{"description":"Bad Gateway. Monitoring could not be stopped for one or more targets, and the response body lists which. It is safe to retry, because targets that have already stopped are skipped."}}}}}}
```

## Retrieve a representative verification configuration

> Returns the verification flow configuration that applies to the representative. The configuration is resolved by precedence: a configuration assigned to the representative, then the configuration linked to their verification flow, then global verification configurations matching the profile country and the representative people types.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"schemas":{"PersonVerifyDataConfigurationResource":{"title":"Verify Configuration","required":["people_types","id3","id_document","forms","personal_information"],"properties":{"people_types":{"description":"The people types of the representative.","type":"array","items":{"properties":{"id":{"type":"integer"},"label":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"id3":{"description":"ID3 identity check step.","properties":{"enabled":{"type":"boolean"}},"type":"object"},"id_document":{"description":"ID verification (document) step.","properties":{"enabled":{"type":"boolean"},"options":{"properties":{"fallback":{"properties":{"enabled":{"type":"boolean"}},"type":"object"},"liveness":{"properties":{"enabled":{"type":"boolean"}},"type":"object"},"facematch":{"properties":{"enabled":{"type":"boolean"}},"type":"object"},"document_upload":{"properties":{"enabled":{"type":"boolean"}},"type":"object"}},"type":"object"}},"type":"object"},"forms":{"description":"Forms step. `enabled` is true when the resolved configuration has forms assigned.","properties":{"enabled":{"type":"boolean"},"data":{"description":"Forms assigned to the representative.","type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"reference":{"type":"string"}},"type":"object"}}},"type":"object"},"personal_information":{"description":"Personal information (edit details) step.","properties":{"enabled":{"type":"boolean"},"data":{"description":"People models defining the editable fields per people type.","type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"description":"People type the model applies to.","type":"string"}},"type":"object"}}},"type":"object"}},"type":"object"}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}/verify-configuration":{"get":{"tags":["Representatives"],"summary":"Retrieve a representative verification configuration","description":"Returns the verification flow configuration that applies to the representative. The configuration is resolved by precedence: a configuration assigned to the representative, then the configuration linked to their verification flow, then global verification configurations matching the profile country and the representative people types.","operationId":"0223c669b7f28a2d0ea4f4f4638bca54","parameters":[{"$ref":"#/components/parameters/uuid"}],"responses":{"200":{"description":"OK","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PersonVerifyDataConfigurationResource"}},"type":"object"}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Update a representative verification configuration

> Creates or updates the verification flow configuration assigned to the representative. Omitted fields keep the values of the currently resolved configuration. If the representative does not have a verification flow yet, one is created.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"parameters":{"uuid":{"name":"uuid","in":"path","description":"UUID of the item named in the path, for example the profile in `/profiles/{uuid}` or the representative in `/representatives/{uuid}`.","required":true,"schema":{"type":"string","nullable":false}}},"schemas":{"VerifyConfigurationUpsertRequest":{"title":"Verify Configuration Update Request","description":"Changes to the verification flow configuration of a representative. All fields are optional; omitted fields keep the values of the currently resolved configuration.","properties":{"forms":{"description":"Forms step configuration.","properties":{"enable":{"description":"Whether the representative is asked to complete forms.","type":"boolean"},"ids":{"description":"Ids of the forms assigned to the representative.","type":"array","items":{"type":"integer"}}},"type":"object"},"id3":{"description":"ID3 identity check step configuration.","properties":{"enable":{"description":"Whether the ID3 identity check is performed.","type":"boolean"}},"type":"object"},"personal_information":{"description":"Personal information (edit details) step configuration. `enable` is required when this object is sent.","required":["enable"],"properties":{"enable":{"description":"Whether the representative is asked to review and edit their personal information.","type":"boolean"}},"type":"object"},"id_document":{"description":"ID verification (document) step configuration.","properties":{"enable":{"description":"Whether the representative is asked to verify an identity document.","type":"boolean"}},"type":"object"}},"type":"object"},"PersonVerifyConfigurationVersionResource":{"title":"Verify Configuration Version","required":["id3","id_document","forms","personal_information"],"properties":{"people_types":{"description":"People types the configuration applies to. Only returned when the configuration type includes people types.","properties":{"enabled":{"type":"boolean"},"data":{"type":"array","items":{"properties":{"id":{"type":"integer"},"label":{"type":"string"},"type":{"type":"string"}},"type":"object"}}},"type":"object"},"id3":{"description":"ID3 identity check step.","properties":{"enabled":{"type":"boolean"}},"type":"object"},"id_document":{"description":"ID verification (document) step.","properties":{"enabled":{"type":"boolean"},"options":{"properties":{"fallback":{"properties":{"enabled":{"type":"boolean"}},"type":"object"},"liveness":{"properties":{"enabled":{"type":"boolean"}},"type":"object"},"facematch":{"properties":{"enabled":{"type":"boolean"}},"type":"object"},"document_upload":{"properties":{"enabled":{"type":"boolean"}},"type":"object"}},"type":"object"}},"type":"object"},"forms":{"description":"Forms step. `enabled` is true when the configuration version has forms assigned.","properties":{"enabled":{"type":"boolean"},"data":{"description":"Forms assigned to the representative.","type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"reference":{"type":"string"}},"type":"object"}}},"type":"object"},"personal_information":{"description":"Personal information (edit details) step.","properties":{"enabled":{"type":"boolean"},"data":{"description":"People models defining the editable fields per people type.","type":"array","items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"description":"People type the model applies to.","type":"string"}},"type":"object"}}},"type":"object"}},"type":"object"}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"responses":{"400":{"description":"Bad Request. The request could not be processed because it is invalid. The `message` field explains why.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"422":{"description":"Unprocessable Content. The request was understood but failed validation. The response lists the fields that failed and why.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"},"example_field":{"description":"Validation errors for one field of the request body. The property name is the name of the field that failed validation (`example_field` is a placeholder).","type":"array","items":{"type":"string"}}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}/verify-configuration":{"patch":{"tags":["Representatives"],"summary":"Update a representative verification configuration","description":"Creates or updates the verification flow configuration assigned to the representative. Omitted fields keep the values of the currently resolved configuration. If the representative does not have a verification flow yet, one is created.","operationId":"f4ca86efd263928ee7da657b0461c429","parameters":[{"$ref":"#/components/parameters/uuid"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyConfigurationUpsertRequest"}}}},"responses":{"200":{"description":"OK, the latest configuration version was updated in place","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PersonVerifyConfigurationVersionResource"}},"type":"object"}}}},"201":{"description":"Created, a new configuration version was created","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}},"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PersonVerifyConfigurationVersionResource"}},"type":"object"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"}}}}}}
```

## Reset the verification flow for a representative

> Resets the verification flow for a representative on a given profile and sends them a fresh verification link by email. This is the same as the "Reset verification" action in case management. If the representative has no active verification flow, nothing happens and no email is sent.

```json
{"openapi":"3.0.0","info":{"title":"Detected API","version":"v2"},"tags":[{"name":"Representatives","description":"Directors, owners, signatories and other parties linked to a profile: create and manage representatives, run verifications, control screening monitoring and generate login links."}],"servers":[{"url":"https://api.detected.app/api/v2/public","description":"Production"}],"security":[{"AccessToken":[]}],"components":{"securitySchemes":{"AccessToken":{"type":"http","description":"The API uses OAuth 2.0. Request an access token from `POST /oauth/token` with the client ID and client secret of your integration client, and your account slug. Send the access token in the `Authorization` header of every request, in the format `Authorization: Bearer <access_token>`. The access token carries the scopes set on your integration client in the dashboard. Access tokens expire. When one expires, request a new one.","bearerFormat":"OAuth 2.0 access token","scheme":"bearer"}},"headers":{"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the rate limit window.","schema":{"type":"number","nullable":false}},"X-RateLimit-Remaining":{"description":"Number of requests remaining in the current rate limit window.","schema":{"type":"number","nullable":false}},"Retry-After":{"description":"Number of seconds to wait before making another request. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}},"X-RateLimit-Reset":{"description":"Unix timestamp (in seconds) at which the rate limit resets. Returned when the rate limit has been reached.","schema":{"type":"number","nullable":false}}},"responses":{"401":{"description":"Unauthorized. The access token is missing, invalid or has expired.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"404":{"description":"Not Found. The requested resource does not exist, or is not available to your account.","content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}},"429":{"description":"Too Many Requests. You have exceeded the rate limit. Wait for the number of seconds given in the `Retry-After` header before trying again.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"properties":{"message":{"description":"A human-readable description of the error.","type":"string"}},"type":"object"}}}}}},"paths":{"/representatives/{uuid}/verify-flow":{"delete":{"tags":["Representatives"],"summary":"Reset the verification flow for a representative","description":"Resets the verification flow for a representative on a given profile and sends them a fresh verification link by email. This is the same as the \"Reset verification\" action in case management. If the representative has no active verification flow, nothing happens and no email is sent.","operationId":"4c1c39257528488b71bc5e87cbe8f92f","parameters":[{"name":"uuid","in":"path","description":"The UUID of the representative whose verification flow should be reset.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"notify","in":"query","description":"Whether to email the representative a new verification link when the flow is reset. Send `1` to send the email, or `0` to reset the flow without sending it. The default is `1`.","schema":{"type":"integer","enum":[0,1]}}],"responses":{"204":{"description":"No Content. The verification flow was reset and the representative was emailed a new link, or there was no active flow and nothing was done.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://detected.gitbook.io/detected-docs/representatives.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
