Strise GraphQL API

Hi there, and welcome to the Strise Connect API reference 🙋‍♂️

The purpose of this API is to enable customers to integrate Strise with your existing systems by synchronizing data, and subscribe to changes related to entities in your Strise Portfolio.

Some features in this API are:

Contact

Got issues, suggestions for improvements, or questions? Send us a message! The endpoint below is for the production API. For the sandbox API use the following format: https://<customer name>.api.sandbox.strise.ai/connect/graphql

tech@strise.ai

API Endpoints
https://graphql.strise.ai/connect/graphql
Headers
Authorization: Bearer <YOUR_TOKEN_HERE>

👋 Getting started

The following show some example queries for the Strise GraphQL API. To experiment with queries, you can use the interactive query executor in the Strise GraphQL Playground.

Generate a token

All queries require the client to be authenticated, which is done by sending your clientId and clientSecret to the generateToken mutation. If you have not yet acquired your client credentials, please request one by sending us a message.

mutation generateToken {
  clientAccessTokenGenerate(
    clientId: "SECRET_ID"
    clientSecret: "SECRET_SECRET"
  ) {
    expires
    token
  }
}

After generating the token, pass it as a Header for subsequent requests:

{
 "Authorization": "Bearer <token>"
}

Search for a company

To make sure everything is configured correctly, a good place to start is to search for a company and see that you get some results.

Run the following to search for Strise AS by its Norwegian organisation number:

query search {
  companyIdentifierSearch(where: {identifiers: ["918330100"], country: "NO"}){
    edges {
      node {
        id,
        name
      }
    }
  }
}

🛠️ Manage an entity's status in Strise

Add a company to monitoring

To start receiving updates on a company it needs to be added to monitoring through the following mutation. You may notice that this mutation expects an entity id as input. As outlined in the description of the ID and in the previous section it can be obtained through search. Once the ID has been obtained the company can be added to monitoring by running the following mutation:

mutation monitorCompany {
  companyAddToMonitoring(
    where: { id: "123-abc-456-def" }
  ) {
    success
    company {
      name
    }
  }
}

🔔 Subscribe to changes

Monitoring entities

While queries and mutations are used to proactively fetch and manipulate data, subscriptions are used to get updates reactively. You can think of them as GraphQL's version of Webhooks.

When you monitor an entity you will receive updates through the review trigger subscription. Strise will push updates as messages over this subscription, and you can act on them as you see fit. The messages are stored up to 7 days on a message queue until they are consumed by the client. A message is consumed once it has been delivered to a client that has connected with dryRun:false.

You are in full control of what type of messages you want to receive over this subscription. A message is sent once one of your review triggers is satisfied. Which clauses that need to be satisfies before a review is triggered is configured by your team manager in the Strise System.

To get more information about review triggers, see the related help center article.

subscription subscribeToReviewTriggers {
  reviewTriggers {
    id
    ... on CompanyReviewTriggerEvent {
      company
    }
    triggeredAt
  }
}

Queries

businessPerson

Description

Find a business person by their internal Strise ID.

Response

Returns a BusinessPerson

Arguments
Name Description
where - BusinessPersonWhereInput!

Example

Query
query BusinessPerson($where: BusinessPersonWhereInput!) {
  businessPerson(where: $where) {
    id
    gender
    birthDate
    birthYear
    pep
    name
    address {
      country {
        code
        name
      }
      addressLine
      city
      zipCode
    }
    countries {
      relationship
      country {
        code
        name
      }
    }
    identifiers {
      value
      country
    }
    relationships {
      edges {
        kind
        explanation
        custom
        node {
          name
          address {
            country {
              ...CountryFragment
            }
            addressLine
            city
            zipCode
          }
          countries {
            relationship
            country {
              ...CountryFragment
            }
          }
          identifiers {
            value
            country
          }
          relationships {
            edges {
              ...EntityConnectionEdgeFragment
            }
          }
          sanctioned
          amsCount
          flags
        }
        details {
          ... on OwnershipRelationDetails {
            share
          }
        }
      }
    }
    sanctioned
    amsCount
    flags
  }
}
Variables
{"where": BusinessPersonWhereInput}
Response
{
  "data": {
    "businessPerson": {
      "id": BusinessPersonId,
      "gender": "FEMALE",
      "birthDate": "2007-12-03",
      "birthYear": Year,
      "pep": false,
      "name": "abc123",
      "address": [Address],
      "countries": [CountryContext],
      "identifiers": [EntityIdentifier],
      "relationships": EntityConnection,
      "sanctioned": true,
      "amsCount": 123,
      "flags": ["AUDITOR_NOTES"]
    }
  }
}

businessPersonSearch

Description

Search for a business person by certain parameters, such as name, country, and birth date. Returns the first 50 hits. If you can't find the person you're looking for, try to narrow down the search by further specifying the search parameters.

Response

Returns a BusinessPersonSearchConnection!

Arguments
Name Description
where - ConnectBusinessPersonSearchInput!

Example

Query
query BusinessPersonSearch($where: ConnectBusinessPersonSearchInput!) {
  businessPersonSearch(where: $where) {
    edges {
      node {
        id
        gender
        birthDate
        birthYear
        pep
        name
        address {
          country {
            code
            name
          }
          addressLine
          city
          zipCode
        }
        countries {
          relationship
          country {
            code
            name
          }
        }
        identifiers {
          value
          country
        }
        relationships {
          edges {
            kind
            explanation
            custom
            node {
              ...EntityLikeFragment
            }
            details {
              ... on OwnershipRelationDetails {
                ...OwnershipRelationDetailsFragment
              }
            }
          }
        }
        sanctioned
        amsCount
        flags
      }
    }
  }
}
Variables
{"where": ConnectBusinessPersonSearchInput}
Response
{
  "data": {
    "businessPersonSearch": {
      "edges": [BusinessPersonSearchConnectionEdge]
    }
  }
}

company

Description

Find a company by their internal Strise ID.

Response

Returns a Company

Arguments
Name Description
where - CompanyWhereInput!

Example

Query
query Company($where: CompanyWhereInput!) {
  company(where: $where) {
    id
    industries
    inception
    organisationFormCodes
    businessPurposes
    signatoryRights
    isMonitored
    name
    address {
      country {
        code
        name
      }
      addressLine
      city
      zipCode
    }
    countries {
      relationship
      country {
        code
        name
      }
    }
    identifiers {
      value
      country
    }
    relationships {
      edges {
        kind
        explanation
        custom
        node {
          name
          address {
            country {
              ...CountryFragment
            }
            addressLine
            city
            zipCode
          }
          countries {
            relationship
            country {
              ...CountryFragment
            }
          }
          identifiers {
            value
            country
          }
          relationships {
            edges {
              ...EntityConnectionEdgeFragment
            }
          }
          sanctioned
          amsCount
          flags
        }
        details {
          ... on OwnershipRelationDetails {
            share
          }
        }
      }
    }
    sanctioned
    amsCount
    flags
  }
}
Variables
{"where": CompanyWhereInput}
Response
{
  "data": {
    "company": {
      "id": CompanyId,
      "industries": ["xyz789"],
      "inception": "2007-12-03T10:15:30Z",
      "organisationFormCodes": ["abc123"],
      "businessPurposes": ["abc123"],
      "signatoryRights": "abc123",
      "isMonitored": false,
      "name": "abc123",
      "address": [Address],
      "countries": [CountryContext],
      "identifiers": [EntityIdentifier],
      "relationships": EntityConnection,
      "sanctioned": false,
      "amsCount": 123,
      "flags": ["AUDITOR_NOTES"]
    }
  }
}

companyIdentifierSearch

Description

Find companies their official identifier.

Response

Returns a CompanySearchConnection!

Arguments
Name Description
where - CompanyIdentifierSearchInput!
pageInfo - SizePageInfoInput

Example

Query
query CompanyIdentifierSearch(
  $where: CompanyIdentifierSearchInput!,
  $pageInfo: SizePageInfoInput
) {
  companyIdentifierSearch(
    where: $where,
    pageInfo: $pageInfo
  ) {
    edges {
      node {
        id
        industries
        inception
        organisationFormCodes
        businessPurposes
        signatoryRights
        isMonitored
        name
        address {
          country {
            code
            name
          }
          addressLine
          city
          zipCode
        }
        countries {
          relationship
          country {
            code
            name
          }
        }
        identifiers {
          value
          country
        }
        relationships {
          edges {
            kind
            explanation
            custom
            node {
              ...EntityLikeFragment
            }
            details {
              ... on OwnershipRelationDetails {
                ...OwnershipRelationDetailsFragment
              }
            }
          }
        }
        sanctioned
        amsCount
        flags
      }
    }
  }
}
Variables
{
  "where": CompanyIdentifierSearchInput,
  "pageInfo": SizePageInfoInput
}
Response
{
  "data": {
    "companyIdentifierSearch": {
      "edges": [CompanySearchConnectionEdge]
    }
  }
}

companySearch

Description

Find companies by search.

Response

Returns a CompanySearchConnection!

Arguments
Name Description
where - CompanyNameSearchInput!
pageInfo - SizePageInfoInput

Example

Query
query CompanySearch(
  $where: CompanyNameSearchInput!,
  $pageInfo: SizePageInfoInput
) {
  companySearch(
    where: $where,
    pageInfo: $pageInfo
  ) {
    edges {
      node {
        id
        industries
        inception
        organisationFormCodes
        businessPurposes
        signatoryRights
        isMonitored
        name
        address {
          country {
            code
            name
          }
          addressLine
          city
          zipCode
        }
        countries {
          relationship
          country {
            code
            name
          }
        }
        identifiers {
          value
          country
        }
        relationships {
          edges {
            kind
            explanation
            custom
            node {
              ...EntityLikeFragment
            }
            details {
              ... on OwnershipRelationDetails {
                ...OwnershipRelationDetailsFragment
              }
            }
          }
        }
        sanctioned
        amsCount
        flags
      }
    }
  }
}
Variables
{
  "where": CompanyNameSearchInput,
  "pageInfo": SizePageInfoInput
}
Response
{
  "data": {
    "companySearch": {
      "edges": [CompanySearchConnectionEdge]
    }
  }
}

customBusinessPerson

Description

Find a custom business person by their internal Strise ID.

Response

Returns a CustomBusinessPerson

Arguments
Name Description
where - CustomBusinessPersonWhereInput!

Example

Query
query CustomBusinessPerson($where: CustomBusinessPersonWhereInput!) {
  customBusinessPerson(where: $where) {
    id
    birthDate
    birthYear
    pep
    name
    address {
      country {
        code
        name
      }
      addressLine
      city
      zipCode
    }
    countries {
      relationship
      country {
        code
        name
      }
    }
    identifiers {
      value
      country
    }
    relationships {
      edges {
        kind
        explanation
        custom
        node {
          name
          address {
            country {
              ...CountryFragment
            }
            addressLine
            city
            zipCode
          }
          countries {
            relationship
            country {
              ...CountryFragment
            }
          }
          identifiers {
            value
            country
          }
          relationships {
            edges {
              ...EntityConnectionEdgeFragment
            }
          }
          sanctioned
          amsCount
          flags
        }
        details {
          ... on OwnershipRelationDetails {
            share
          }
        }
      }
    }
    sanctioned
    amsCount
    flags
  }
}
Variables
{"where": CustomBusinessPersonWhereInput}
Response
{
  "data": {
    "customBusinessPerson": {
      "id": CustomBusinessPersonId,
      "birthDate": "2007-12-03",
      "birthYear": Year,
      "pep": true,
      "name": "abc123",
      "address": [Address],
      "countries": [CountryContext],
      "identifiers": [EntityIdentifier],
      "relationships": EntityConnection,
      "sanctioned": true,
      "amsCount": 123,
      "flags": ["AUDITOR_NOTES"]
    }
  }
}

privatePerson

Description

Find a private person by their internal Strise ID.

Response

Returns a PrivatePerson

Arguments
Name Description
where - PrivatePersonWhereInput!

Example

Query
query PrivatePerson($where: PrivatePersonWhereInput!) {
  privatePerson(where: $where) {
    id
    name
    gender
    birthDate
    birthYear
    address {
      country {
        code
        name
      }
      addressLine
      city
      zipCode
    }
    countries {
      relationship
      country {
        code
        name
      }
    }
    identifiers {
      value
      country
    }
    pep
    sanctioned
    relationships {
      edges {
        kind
        explanation
        custom
        node {
          name
          address {
            country {
              ...CountryFragment
            }
            addressLine
            city
            zipCode
          }
          countries {
            relationship
            country {
              ...CountryFragment
            }
          }
          identifiers {
            value
            country
          }
          relationships {
            edges {
              ...EntityConnectionEdgeFragment
            }
          }
          sanctioned
          amsCount
          flags
        }
        details {
          ... on OwnershipRelationDetails {
            share
          }
        }
      }
    }
    amsCount
    isMonitored
    flags
  }
}
Variables
{"where": PrivatePersonWhereInput}
Response
{
  "data": {
    "privatePerson": {
      "id": PrivatePersonId,
      "name": "abc123",
      "gender": "FEMALE",
      "birthDate": "2007-12-03",
      "birthYear": Year,
      "address": [Address],
      "countries": [CountryContext],
      "identifiers": [EntityIdentifier],
      "pep": true,
      "sanctioned": false,
      "relationships": EntityConnection,
      "amsCount": 123,
      "isMonitored": false,
      "flags": ["AUDITOR_NOTES"]
    }
  }
}

privatePersonIdentifierSearch

Description

Find private persons by their official identifier, such as SSN.

Response

Returns a PrivatePersonSearchConnection!

Arguments
Name Description
where - PrivatePersonIdentifierSearchInput!
pageInfo - SizePageInfoInput

Example

Query
query PrivatePersonIdentifierSearch(
  $where: PrivatePersonIdentifierSearchInput!,
  $pageInfo: SizePageInfoInput
) {
  privatePersonIdentifierSearch(
    where: $where,
    pageInfo: $pageInfo
  ) {
    edges {
      node {
        id
        name
        gender
        birthDate
        birthYear
        address {
          country {
            code
            name
          }
          addressLine
          city
          zipCode
        }
        countries {
          relationship
          country {
            code
            name
          }
        }
        identifiers {
          value
          country
        }
        pep
        sanctioned
        relationships {
          edges {
            kind
            explanation
            custom
            node {
              ...EntityLikeFragment
            }
            details {
              ... on OwnershipRelationDetails {
                ...OwnershipRelationDetailsFragment
              }
            }
          }
        }
        amsCount
        isMonitored
        flags
      }
    }
  }
}
Variables
{
  "where": PrivatePersonIdentifierSearchInput,
  "pageInfo": SizePageInfoInput
}
Response
{
  "data": {
    "privatePersonIdentifierSearch": {
      "edges": [PersonSearchConnectionEdge]
    }
  }
}

privatePersonSearch

Description

Find private persons by name.

Response

Returns a PrivatePersonSearchConnection!

Arguments
Name Description
where - PersonSearchInput!
pageInfo - SizePageInfoInput

Example

Query
query PrivatePersonSearch(
  $where: PersonSearchInput!,
  $pageInfo: SizePageInfoInput
) {
  privatePersonSearch(
    where: $where,
    pageInfo: $pageInfo
  ) {
    edges {
      node {
        id
        name
        gender
        birthDate
        birthYear
        address {
          country {
            code
            name
          }
          addressLine
          city
          zipCode
        }
        countries {
          relationship
          country {
            code
            name
          }
        }
        identifiers {
          value
          country
        }
        pep
        sanctioned
        relationships {
          edges {
            kind
            explanation
            custom
            node {
              ...EntityLikeFragment
            }
            details {
              ... on OwnershipRelationDetails {
                ...OwnershipRelationDetailsFragment
              }
            }
          }
        }
        amsCount
        isMonitored
        flags
      }
    }
  }
}
Variables
{
  "where": PersonSearchInput,
  "pageInfo": SizePageInfoInput
}
Response
{
  "data": {
    "privatePersonSearch": {
      "edges": [PersonSearchConnectionEdge]
    }
  }
}

review

Description

Retrieve a review by its id.

Response

Returns a Review!

Arguments
Name Description
where - ReviewWhereInput!

Example

Query
query Review($where: ReviewWhereInput!) {
  review(where: $where) {
    id
    pdf
  }
}
Variables
{"where": ReviewWhereInput}
Response
{"data": {"review": {"id": 4, "pdf": Base64EncodedFile}}}

reviewTriggerCompanySearch

Description

Find all review trigger events delivered for a specific company.

Arguments
Name Description
where - CompanyReviewTriggerEventWhereInput!
pageInfo - SizePageInfoInput

Example

Query
query ReviewTriggerCompanySearch(
  $where: CompanyReviewTriggerEventWhereInput!,
  $pageInfo: SizePageInfoInput
) {
  reviewTriggerCompanySearch(
    where: $where,
    pageInfo: $pageInfo
  ) {
    totalCount
    edges {
      node {
        id
        triggeredAt
        statements
      }
    }
  }
}
Variables
{
  "where": CompanyReviewTriggerEventWhereInput,
  "pageInfo": SizePageInfoInput
}
Response
{
  "data": {
    "reviewTriggerCompanySearch": {
      "totalCount": 123,
      "edges": [ReviewTriggerEventSearchConnectionEdge]
    }
  }
}

reviewTriggerPersonSearch

Description

Find all review trigger events delivered for a specific private person.

Arguments
Name Description
where - PersonReviewTriggerEventWhereInput!
pageInfo - SizePageInfoInput

Example

Query
query ReviewTriggerPersonSearch(
  $where: PersonReviewTriggerEventWhereInput!,
  $pageInfo: SizePageInfoInput
) {
  reviewTriggerPersonSearch(
    where: $where,
    pageInfo: $pageInfo
  ) {
    totalCount
    edges {
      node {
        id
        triggeredAt
        statements
      }
    }
  }
}
Variables
{
  "where": PersonReviewTriggerEventWhereInput,
  "pageInfo": SizePageInfoInput
}
Response
{
  "data": {
    "reviewTriggerPersonSearch": {
      "totalCount": 987,
      "edges": [ReviewTriggerEventSearchConnectionEdge]
    }
  }
}

reviewTriggerSearch

Description

Find all review trigger events delivered within a given timeframe.

Arguments
Name Description
where - ReviewTriggerEventWhereInput!
pageInfo - SizePageInfoInput

Example

Query
query ReviewTriggerSearch(
  $where: ReviewTriggerEventWhereInput!,
  $pageInfo: SizePageInfoInput
) {
  reviewTriggerSearch(
    where: $where,
    pageInfo: $pageInfo
  ) {
    totalCount
    edges {
      node {
        id
        triggeredAt
        statements
      }
    }
  }
}
Variables
{
  "where": ReviewTriggerEventWhereInput,
  "pageInfo": SizePageInfoInput
}
Response
{
  "data": {
    "reviewTriggerSearch": {
      "totalCount": 987,
      "edges": [ReviewTriggerEventSearchConnectionEdge]
    }
  }
}

strise

Description

Welcome to the Strise Connect API! Need help? Contact us at tech@strise.ai

Response

Returns a String!

Example

Query
query Strise {
  strise
}
Response
{"data": {"strise": "abc123"}}

Mutations

clientAccessTokenGenerate

Description

Generate a new access token for a client, which can be used to authenticate with the API through a 'Authorization: Bearer ' header.

Response

Returns an AccessToken!

Arguments
Name Description
clientId - String!
clientSecret - String!

Example

Query
mutation ClientAccessTokenGenerate(
  $clientId: String!,
  $clientSecret: String!
) {
  clientAccessTokenGenerate(
    clientId: $clientId,
    clientSecret: $clientSecret
  ) {
    expires
    token
  }
}
Variables
{
  "clientId": "abc123",
  "clientSecret": "xyz789"
}
Response
{
  "data": {
    "clientAccessTokenGenerate": {
      "expires": 123,
      "token": "xyz789"
    }
  }
}

companiesAddToMonitoring

Response

Returns a CompanyBulkPayloadResource!

Arguments
Name Description
where - CompaniesWhereInput!

Example

Query
mutation CompaniesAddToMonitoring($where: CompaniesWhereInput!) {
  companiesAddToMonitoring(where: $where) {
    failed
    allSuccessful
  }
}
Variables
{"where": CompaniesWhereInput}
Response
{
  "data": {
    "companiesAddToMonitoring": {
      "failed": [CompanyId],
      "allSuccessful": true
    }
  }
}

companyAddToMonitoring

Response

Returns a CompanyPayload!

Arguments
Name Description
where - CompanyWhereInput!

Example

Query
mutation CompanyAddToMonitoring($where: CompanyWhereInput!) {
  companyAddToMonitoring(where: $where) {
    success
    company {
      id
      industries
      inception
      organisationFormCodes
      businessPurposes
      signatoryRights
      isMonitored
      name
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      sanctioned
      amsCount
      flags
    }
  }
}
Variables
{"where": CompanyWhereInput}
Response
{
  "data": {
    "companyAddToMonitoring": {
      "success": false,
      "company": Company
    }
  }
}

companyOwnersUpdate

Response

Returns a CompanyPayload!

Arguments
Name Description
where - CustomOwnersInput!

Example

Query
mutation CompanyOwnersUpdate($where: CustomOwnersInput!) {
  companyOwnersUpdate(where: $where) {
    success
    company {
      id
      industries
      inception
      organisationFormCodes
      businessPurposes
      signatoryRights
      isMonitored
      name
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      sanctioned
      amsCount
      flags
    }
  }
}
Variables
{"where": CustomOwnersInput}
Response
{
  "data": {
    "companyOwnersUpdate": {
      "success": false,
      "company": Company
    }
  }
}

companyRemoveFromMonitoring

Response

Returns a CompanyPayload!

Arguments
Name Description
where - CompanyWhereInput!

Example

Query
mutation CompanyRemoveFromMonitoring($where: CompanyWhereInput!) {
  companyRemoveFromMonitoring(where: $where) {
    success
    company {
      id
      industries
      inception
      organisationFormCodes
      businessPurposes
      signatoryRights
      isMonitored
      name
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      sanctioned
      amsCount
      flags
    }
  }
}
Variables
{"where": CompanyWhereInput}
Response
{
  "data": {
    "companyRemoveFromMonitoring": {
      "success": false,
      "company": Company
    }
  }
}

privatePersonAddToMonitoring

Response

Returns a PrivatePersonPayload!

Arguments
Name Description
where - PrivatePersonWhereInput!

Example

Query
mutation PrivatePersonAddToMonitoring($where: PrivatePersonWhereInput!) {
  privatePersonAddToMonitoring(where: $where) {
    success
    person {
      id
      name
      gender
      birthDate
      birthYear
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      pep
      sanctioned
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      amsCount
      isMonitored
      flags
    }
  }
}
Variables
{"where": PrivatePersonWhereInput}
Response
{
  "data": {
    "privatePersonAddToMonitoring": {
      "success": false,
      "person": PrivatePerson
    }
  }
}

privatePersonCreate

Response

Returns a PrivatePersonPayload!

Arguments
Name Description
where - PrivatePersonCreateInput!

Example

Query
mutation PrivatePersonCreate($where: PrivatePersonCreateInput!) {
  privatePersonCreate(where: $where) {
    success
    person {
      id
      name
      gender
      birthDate
      birthYear
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      pep
      sanctioned
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      amsCount
      isMonitored
      flags
    }
  }
}
Variables
{"where": PrivatePersonCreateInput}
Response
{
  "data": {
    "privatePersonCreate": {
      "success": true,
      "person": PrivatePerson
    }
  }
}

privatePersonDelete

Response

Returns a PrivatePersonPayload!

Arguments
Name Description
where - PrivatePersonWhereInput!

Example

Query
mutation PrivatePersonDelete($where: PrivatePersonWhereInput!) {
  privatePersonDelete(where: $where) {
    success
    person {
      id
      name
      gender
      birthDate
      birthYear
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      pep
      sanctioned
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      amsCount
      isMonitored
      flags
    }
  }
}
Variables
{"where": PrivatePersonWhereInput}
Response
{
  "data": {
    "privatePersonDelete": {
      "success": true,
      "person": PrivatePerson
    }
  }
}

privatePersonRemoveFromMonitoring

Response

Returns a PrivatePersonPayload!

Arguments
Name Description
where - PrivatePersonWhereInput!

Example

Query
mutation PrivatePersonRemoveFromMonitoring($where: PrivatePersonWhereInput!) {
  privatePersonRemoveFromMonitoring(where: $where) {
    success
    person {
      id
      name
      gender
      birthDate
      birthYear
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      pep
      sanctioned
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      amsCount
      isMonitored
      flags
    }
  }
}
Variables
{"where": PrivatePersonWhereInput}
Response
{
  "data": {
    "privatePersonRemoveFromMonitoring": {
      "success": false,
      "person": PrivatePerson
    }
  }
}

privatePersonUpdate

Response

Returns a PrivatePersonPayload!

Arguments
Name Description
where - PrivatePersonUpdateInput!

Example

Query
mutation PrivatePersonUpdate($where: PrivatePersonUpdateInput!) {
  privatePersonUpdate(where: $where) {
    success
    person {
      id
      name
      gender
      birthDate
      birthYear
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      pep
      sanctioned
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      amsCount
      isMonitored
      flags
    }
  }
}
Variables
{"where": PrivatePersonUpdateInput}
Response
{
  "data": {
    "privatePersonUpdate": {
      "success": false,
      "person": PrivatePerson
    }
  }
}

privatePersonsAddToMonitoring

Response

Returns a PersonBulkPayloadResource!

Arguments
Name Description
where - PrivatePersonsWhereInput!

Example

Query
mutation PrivatePersonsAddToMonitoring($where: PrivatePersonsWhereInput!) {
  privatePersonsAddToMonitoring(where: $where) {
    failed
    allSuccessful
  }
}
Variables
{"where": PrivatePersonsWhereInput}
Response
{
  "data": {
    "privatePersonsAddToMonitoring": {
      "failed": [PrivatePersonId],
      "allSuccessful": true
    }
  }
}

reviewCompanyCreate

Response

Returns a ReviewPayload!

Arguments
Name Description
where - CompanyWhereInput!

Example

Query
mutation ReviewCompanyCreate($where: CompanyWhereInput!) {
  reviewCompanyCreate(where: $where) {
    success
    risk
    id
    context {
      triggerId
      relation {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      explanations
      entity {
        ... on Company {
          id
          industries
          inception
          organisationFormCodes
          businessPurposes
          signatoryRights
          isMonitored
          name
          address {
            country {
              ...CountryFragment
            }
            addressLine
            city
            zipCode
          }
          countries {
            relationship
            country {
              ...CountryFragment
            }
          }
          identifiers {
            value
            country
          }
          relationships {
            edges {
              ...EntityConnectionEdgeFragment
            }
          }
          sanctioned
          amsCount
          flags
        }
        ... on BusinessPerson {
          id
          gender
          birthDate
          birthYear
          pep
          name
          address {
            country {
              ...CountryFragment
            }
            addressLine
            city
            zipCode
          }
          countries {
            relationship
            country {
              ...CountryFragment
            }
          }
          identifiers {
            value
            country
          }
          relationships {
            edges {
              ...EntityConnectionEdgeFragment
            }
          }
          sanctioned
          amsCount
          flags
        }
        ... on CustomBusinessPerson {
          id
          birthDate
          birthYear
          pep
          name
          address {
            country {
              ...CountryFragment
            }
            addressLine
            city
            zipCode
          }
          countries {
            relationship
            country {
              ...CountryFragment
            }
          }
          identifiers {
            value
            country
          }
          relationships {
            edges {
              ...EntityConnectionEdgeFragment
            }
          }
          sanctioned
          amsCount
          flags
        }
        ... on PrivatePerson {
          id
          name
          gender
          birthDate
          birthYear
          address {
            country {
              ...CountryFragment
            }
            addressLine
            city
            zipCode
          }
          countries {
            relationship
            country {
              ...CountryFragment
            }
          }
          identifiers {
            value
            country
          }
          pep
          sanctioned
          relationships {
            edges {
              ...EntityConnectionEdgeFragment
            }
          }
          amsCount
          isMonitored
          flags
        }
      }
    }
  }
}
Variables
{"where": CompanyWhereInput}
Response
{
  "data": {
    "reviewCompanyCreate": {
      "success": true,
      "risk": "HIGH",
      "id": 4,
      "context": ReviewContext
    }
  }
}

reviewTriggerEventGenerate

Description

Mutate the database in such a way that it satisfies a review trigger and adds the given company to review. This is only available in sandbox.

Response

Returns a CompanyPayload!

Arguments
Name Description
where - CompanyWhereInput!

Example

Query
mutation ReviewTriggerEventGenerate($where: CompanyWhereInput!) {
  reviewTriggerEventGenerate(where: $where) {
    success
    company {
      id
      industries
      inception
      organisationFormCodes
      businessPurposes
      signatoryRights
      isMonitored
      name
      address {
        country {
          code
          name
        }
        addressLine
        city
        zipCode
      }
      countries {
        relationship
        country {
          code
          name
        }
      }
      identifiers {
        value
        country
      }
      relationships {
        edges {
          kind
          explanation
          custom
          node {
            name
            address {
              ...AddressFragment
            }
            countries {
              ...CountryContextFragment
            }
            identifiers {
              ...EntityIdentifierFragment
            }
            relationships {
              ...EntityConnectionFragment
            }
            sanctioned
            amsCount
            flags
          }
          details {
            ... on OwnershipRelationDetails {
              ...OwnershipRelationDetailsFragment
            }
          }
        }
      }
      sanctioned
      amsCount
      flags
    }
  }
}
Variables
{"where": CompanyWhereInput}
Response
{
  "data": {
    "reviewTriggerEventGenerate": {
      "success": false,
      "company": Company
    }
  }
}

Subscriptions

reviewTriggers

Description

Subscribe to triggered reviews.

Response

Returns a ReviewTriggerEvent!

Arguments
Name Description
dryRun - Boolean Whether or not to exhaust the incoming messages. If set to false, the same message can be processed several times, until a subscription is created with dryRun = false. Default = false

Example

Query
subscription ReviewTriggers($dryRun: Boolean) {
  reviewTriggers(dryRun: $dryRun) {
    id
    triggeredAt
    statements
  }
}
Variables
{"dryRun": false}
Response
{
  "data": {
    "reviewTriggers": {
      "id": 4,
      "triggeredAt": "2007-12-03T10:15:30Z",
      "statements": ["BENEFICIAL_OWNERS_CHANGE"]
    }
  }
}

Types

AccessToken

Description

An access token used to communicate with the Strise.ai APIs.

Fields
Field Name Description
expires - Int! The timestamp representing when the token is expiring. This is seconds since epoch.
token - String! The access token as a JWT.
Example
{"expires": 123, "token": "xyz789"}

Address

Fields
Field Name Description
country - Country
addressLine - String
city - String
zipCode - String
Example
{
  "country": Country,
  "addressLine": "abc123",
  "city": "xyz789",
  "zipCode": "xyz789"
}

AddressInput

Fields
Input Field Description
addressLine - String
zipCode - String
city - String
country - CountryCode
Example
{
  "addressLine": "abc123",
  "zipCode": "xyz789",
  "city": "abc123",
  "country": "US"
}

Base64EncodedFile

Description

An representation of a Base64EncodedFile.

Example
Base64EncodedFile

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

BusinessPerson

Description

A resource representing a business person.

Fields
Field Name Description
id - BusinessPersonId!
gender - Gender The gender of the person.
birthDate - Date The birth date of the person.
birthYear - Year The birth year of the person.
pep - Boolean! Whether the person is a PEP or not.
name - String! Entity name.
address - [Address!]! The postal address of the Entity.
countries - [CountryContext!]! The countries for the Entity.
identifiers - [EntityIdentifier!]! The official identifiers for this Entity. Since an Entity can have several ids (even within the same country), this is a list.
relationships - EntityConnection! Related entities (e.g. persons, companies) for this entity. Can be UBOs, board members, etc.
Arguments
kind - [EntityRelationshipKind!]!

The type of relationships to fetch. If not specified, all relationships will be fetched. Providing an empty list will return all relationship

preferCustomRelations - Boolean!

Whether or not to prefer custom relations. If true, only custom relations are returned if any exists. Otherwise, officially registered relations are returned

sanctioned - Boolean! Whether this entity is sanctioned.
amsCount - Int! Number of adverse media articles found for this entity. This is an approximation and the actual number may be lower, but never higher.
flags - [FlagKind!]! Flagged events found for this entity.
Example
{
  "id": BusinessPersonId,
  "gender": "FEMALE",
  "birthDate": "2007-12-03",
  "birthYear": Year,
  "pep": false,
  "name": "abc123",
  "address": [Address],
  "countries": [CountryContext],
  "identifiers": [EntityIdentifier],
  "relationships": EntityConnection,
  "sanctioned": false,
  "amsCount": 123,
  "flags": ["AUDITOR_NOTES"]
}

BusinessPersonId

Description

A generic identifier for a business person. To obtain this ID, you must first for search the resource BusinessPerson. These IDs are issued by Strise and unique within the Strise graph.

Example
BusinessPersonId

BusinessPersonOwnershipInput

Description

The data input for updating company ownership.

Fields
Input Field Description
id - BusinessPersonId!
ownership - Float The ownership percentage (0-100)
comment - String
beneficialOwner - Boolean
Example
{
  "id": BusinessPersonId,
  "ownership": 123.45,
  "comment": "xyz789",
  "beneficialOwner": true
}

BusinessPersonSearchConnection

Fields
Field Name Description
edges - [BusinessPersonSearchConnectionEdge!]!
Example
{"edges": [BusinessPersonSearchConnectionEdge]}

BusinessPersonSearchConnectionEdge

Fields
Field Name Description
node - BusinessPerson!
Example
{"node": BusinessPerson}

BusinessPersonWhereInput

Fields
Input Field Description
id - BusinessPersonId!
Example
{"id": BusinessPersonId}

CompaniesWhereInput

Description

Input to lookup companies by their internal Strise ID.

Fields
Input Field Description
ids - [CompanyId!]!
Example
{"ids": [CompanyId]}

Company

Description

A resource representing a registered company.

Fields
Field Name Description
id - CompanyId!
industries - [String!]!
inception - DateTime
organisationFormCodes - [String!]!
businessPurposes - [String!]!
signatoryRights - String
isMonitored - Boolean! Whether this company is monitored or not.
name - String! Entity name.
address - [Address!]! The postal address of the Entity.
countries - [CountryContext!]! The countries for the Entity.
identifiers - [EntityIdentifier!]! The official identifiers for this Entity. Since an Entity can have several ids (even within the same country), this is a list.
relationships - EntityConnection! Related entities (e.g. persons, companies) for this entity. Can be UBOs, board members, etc.
Arguments
kind - [EntityRelationshipKind!]!

The type of relationships to fetch. If not specified, all relationships will be fetched. Providing an empty list will return all relationship

preferCustomRelations - Boolean!

Whether or not to prefer custom relations. If true, only custom relations are returned if any exists. Otherwise, officially registered relations are returned

sanctioned - Boolean! Whether this entity is sanctioned.
amsCount - Int! Number of adverse media articles found for this entity. This is an approximation and the actual number may be lower, but never higher.
flags - [FlagKind!]! Flagged events found for this entity.
Example
{
  "id": CompanyId,
  "industries": ["abc123"],
  "inception": "2007-12-03T10:15:30Z",
  "organisationFormCodes": ["xyz789"],
  "businessPurposes": ["abc123"],
  "signatoryRights": "xyz789",
  "isMonitored": true,
  "name": "abc123",
  "address": [Address],
  "countries": [CountryContext],
  "identifiers": [EntityIdentifier],
  "relationships": EntityConnection,
  "sanctioned": true,
  "amsCount": 123,
  "flags": ["AUDITOR_NOTES"]
}

CompanyBulkPayloadResource

Description

Response for bulk adding companies to monitoring.

Fields
Field Name Description
failed - [CompanyId!]!
allSuccessful - Boolean!
Example
{"failed": [CompanyId], "allSuccessful": false}

CompanyId

Description

A generic identifier for a company. To obtain this ID, you must first for search the resource Company. These IDs are issued by Strise and unique within the Strise graph.

Example
CompanyId

CompanyIdentifierSearchInput

Description

Input to lookup companies by registration number.

Fields
Input Field Description
identifiers - [String!]!
country - CountryCode!
Example
{
  "identifiers": ["abc123"],
  "country": "US"
}

CompanyNameSearchInput

Description

A filter for looking up a company by name.

Fields
Input Field Description
query - String! The query string to search for.
country - CountryCode
Example
{
  "query": "abc123",
  "country": "US"
}

CompanyOwnershipInput

Description

The data input for updating company ownership.

Fields
Input Field Description
id - CompanyId!
ownership - Float
comment - String
beneficialOwner - Boolean
Example
{
  "id": CompanyId,
  "ownership": 123.45,
  "comment": "xyz789",
  "beneficialOwner": false
}

CompanyPayload

Description

The payload for a company mutation.

Fields
Field Name Description
success - Boolean!
company - Company A company resource.
Example
{"success": true, "company": Company}

CompanyReviewTriggerEvent

Fields
Field Name Description
company - CompanyId! The company for which the review was triggered.
id - ID! The ID of the review trigger event.
triggeredAt - DateTime! A timestamp of when the review was triggered.
statements - [ReviewTriggerStatementKind!]! The statements that make up the trigger. These are the things that have changed since the last review was performed.
Example
{
  "company": CompanyId,
  "id": 4,
  "triggeredAt": "2007-12-03T10:15:30Z",
  "statements": ["BENEFICIAL_OWNERS_CHANGE"]
}

CompanyReviewTriggerEventWhereInput

Description

Input to lookup company review trigger events by entity ID and time interval.

Fields
Input Field Description
company - CompanyId!
from - DateTime
to - DateTime
Example
{
  "company": CompanyId,
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z"
}

CompanySearchConnection

Fields
Field Name Description
edges - [CompanySearchConnectionEdge!]!
Example
{"edges": [CompanySearchConnectionEdge]}

CompanySearchConnectionEdge

Fields
Field Name Description
node - Company!
Example
{"node": Company}

CompanyWhereInput

Description

The data input for adding a company.

Fields
Input Field Description
id - CompanyId!
Example
{"id": CompanyId}

ConnectBusinessPersonSearchInput

Fields
Input Field Description
query - String! The query string to search for. Should be at least 3 characters long.
country - CountryCode The country where the person is registered. E.g. if you are looking for a Swedish person operating in Norway this should be set to Norway.
gender - Gender
birthDate - Date
birthYear - Year
Example
{
  "query": "xyz789",
  "country": "US",
  "gender": "FEMALE",
  "birthDate": "2007-12-03",
  "birthYear": Year
}

Country

Fields
Field Name Description
code - CountryCode!
name - String!
Example
{
  "code": "US",
  "name": "abc123"
}

CountryCode

Description

A ISO 3166-1 alpha-2 code.

Example
"US"

CountryContext

Description

Used to define an entity's relationship to a country. Such as a Company's country of residence, a PrivatePerson's citizenship, or a CustomBusinessPerson's nationality.

Fields
Field Name Description
relationship - CountryRelationship!
country - Country!
Example
{"relationship": "ADDRESS", "country": Country}

CountryContextInput

Description

Used to define an entity's relationship to a country. Such as a Company's country of residence, a PrivatePerson's citizenship, or a CustomBusinessPerson's nationality.

Fields
Input Field Description
country - CountryCode!
relationship - CountryRelationship!
Example
{"country": "US", "relationship": "ADDRESS"}

CountryRelationship

Description

The relationship between a country and a context, such as a person's country of residence

Values
Enum Value Description

ADDRESS

CITIZENSHIP

NATIONALITY

UNKNOWN

Example
"ADDRESS"

CustomBusinessPerson

Description

A resource representing a user generated custom business person.

Fields
Field Name Description
id - CustomBusinessPersonId!
birthDate - Date
birthYear - Year
pep - Boolean!
name - String! Entity name.
address - [Address!]! The postal address of the Entity.
countries - [CountryContext!]! The countries for the Entity.
identifiers - [EntityIdentifier!]! The official identifiers for this Entity. Since an Entity can have several ids (even within the same country), this is a list.
relationships - EntityConnection! Related entities (e.g. persons, companies) for this entity. Can be UBOs, board members, etc.
Arguments
kind - [EntityRelationshipKind!]!

The type of relationships to fetch. If not specified, all relationships will be fetched. Providing an empty list will return all relationship

preferCustomRelations - Boolean!

Whether or not to prefer custom relations. If true, only custom relations are returned if any exists. Otherwise, officially registered relations are returned

sanctioned - Boolean! Whether this entity is sanctioned.
amsCount - Int! Number of adverse media articles found for this entity. This is an approximation and the actual number may be lower, but never higher.
flags - [FlagKind!]! Flagged events found for this entity.
Example
{
  "id": CustomBusinessPersonId,
  "birthDate": "2007-12-03",
  "birthYear": Year,
  "pep": true,
  "name": "xyz789",
  "address": [Address],
  "countries": [CountryContext],
  "identifiers": [EntityIdentifier],
  "relationships": EntityConnection,
  "sanctioned": false,
  "amsCount": 987,
  "flags": ["AUDITOR_NOTES"]
}

CustomBusinessPersonId

Description

A generic identifier for a custom business person.

Example
CustomBusinessPersonId

CustomBusinessPersonWhereInput

Fields
Input Field Description
id - CustomBusinessPersonId!
Example
{"id": CustomBusinessPersonId}

CustomOwnersInput

Description

The data input for updating company ownership. If companies and businessPersons are both empty lists, custom ownerships will be reset

Fields
Input Field Description
company - CompanyId!
companies - [CompanyOwnershipInput!]!
businessPersons - [BusinessPersonOwnershipInput!]!
customPersons - [CustomPersonOwnershipInput!]!
Example
{
  "company": CompanyId,
  "companies": [CompanyOwnershipInput],
  "businessPersons": [BusinessPersonOwnershipInput],
  "customPersons": [CustomPersonOwnershipInput]
}

CustomPersonOwnershipInput

Description

The data input for updating company ownership.

Fields
Input Field Description
name - String!
birthDate - Date
ownership - Float
countries - [CountryContextInput!]!
comment - String
beneficialOwner - Boolean
Example
{
  "name": "xyz789",
  "birthDate": "2007-12-03",
  "ownership": 123.45,
  "countries": [CountryContextInput],
  "comment": "xyz789",
  "beneficialOwner": true
}

Date

Description

A date in the ISO 8601 format (mm-dd).

Example
"2007-12-03"

DateTime

Description

A date-time in the ISO 8601 format (yyyy, yyyy-mm, yyyy-mm-dd).

Example
"2007-12-03T10:15:30Z"

EntityConnection

Fields
Field Name Description
edges - [EntityConnectionEdge!]!
Example
{"edges": [EntityConnectionEdge]}

EntityConnectionEdge

Fields
Field Name Description
kind - EntityRelationshipKind! The kind of relationship between the entities.
explanation - String! Details for the relationship.
custom - Boolean! Whether this is a custom relation
node - EntityLike! Related entity
details - RelationshipDetails
Example
{
  "kind": "BENEFICIAL_OWNERSHIP",
  "explanation": "xyz789",
  "custom": true,
  "node": EntityLike,
  "details": OwnershipRelationDetails
}

EntityIdentifier

Fields
Field Name Description
value - String!
country - CountryCode The country of the register from which this identifier was issued.
Example
{
  "value": "abc123",
  "country": "US"
}

EntityLike

Description

An interface type of external business entities. Either a company or a business person.

Fields
Field Name Description
name - String! Entity name.
address - [Address!]! The postal address of the Entity.
countries - [CountryContext!]! The countries for the Entity.
identifiers - [EntityIdentifier!]! The official identifiers for this Entity. Since an Entity can have several ids (even within the same country), this is a list.
relationships - EntityConnection! Related entities (e.g. persons, companies) for this entity. Can be UBOs, board members, etc.
Arguments
kind - [EntityRelationshipKind!]!

The type of relationships to fetch. If not specified, all relationships will be fetched. Providing an empty list will return all relationship

preferCustomRelations - Boolean!

Whether or not to prefer custom relations. If true, only custom relations are returned if any exists. Otherwise, officially registered relations are returned

sanctioned - Boolean! Whether this entity is sanctioned.
amsCount - Int! Number of adverse media articles found for this entity. This is an approximation and the actual number may be lower, but never higher.
flags - [FlagKind!]! Flagged events found for this entity.
Possible Types
EntityLike Types

BusinessPerson

Company

CustomBusinessPerson

Example
{
  "name": "xyz789",
  "address": [Address],
  "countries": [CountryContext],
  "identifiers": [EntityIdentifier],
  "relationships": EntityConnection,
  "sanctioned": false,
  "amsCount": 987,
  "flags": ["AUDITOR_NOTES"]
}

EntityRelationshipKind

Description

The kind of relationship between the two entities.

Values
Enum Value Description

BENEFICIAL_OWNERSHIP

Some other relationship between the entities.

OTHER

Some other relationship between the entities.

OWNERSHIP

One owns shares in the other.

ROLE

One entity holds a role in the other.
Example
"BENEFICIAL_OWNERSHIP"

FlagKind

Description

Flags are notable events for an entity. They can have several different triggers and levels of severity. Examples of triggers for flags are bankruptcy, dissolution, and merger.

Values
Enum Value Description

AUDITOR_NOTES

The company has received notes from the auditor on the annual accounts.

AUDITOR_RESIGNED

The auditor of the company has resigned.

BANKRUPTCY

This company has been declared bankrupt.

BANKRUPTCY_PETITION

Possible bankruptcy. This company is the defendant in a court case concerning a bankruptcy.

CAPITAL_INCREASE

This company has signalled a capital increase.

CEO_RESIGNED

This company's CEO has resigned without a successor.

CERTIFICATION

This company is missing the necessary certifications associated with their industrial code.

CHANGE_IN_NACE

The company changed its industry code.

COMPULSORY_DISSOLUTION

The company has been dissolved by the local authorities.

COMPULSORY_DISSOLUTION_WARNING

A flag signaling that the local authorities have issued a warning about compulsory dissolution to this company.

COMPULSORY_LIQUIDATION

The company has been liquidated by the local authorities.

COMPULSORY_LIQUIDATION_WARNING

A flag signaling that the local authorities have issued a warning about compulsory liquidation to this company.

DEBT_RESTRUCTURE

This company has petitioned for debt restructure negotiations.

DISSOLUTION

This company is dissolved.

EMPLOYEE_CHANGE

Big change in number of employees

GRANT

This company has received a government grant.

HIGH_RISK_OWNER

The company has an owner or a beneficial owner from a high risk country.

LAWSUIT_DEFENDANT

This company is the defendant in an ongoing trial.

LAWSUIT_PLAINTIFF

This company is the plaintiff in an ongoing trial.

MERGER

This company has completed a merger.

MULTIPLE_BRANCHES

The company has more than one branches.

MVA_REGISTER

The annual accounts indicate earning exceeding the local threshold without being VAT registered.

NARINGS_FORBUD

The company has a related person that is not allowed to participate in business activities.

NEW_CEO

This company's has a new CEO.

NEW_SUBSIDIARY

The company has a new subsidiary.

RISKY_INDUSTRY

A flag signaling a company is in a risky industry.

SIGNIFICANT_CHANGE_IN_INCOME

The company has had significant changes in its income.

SIGNIFICANT_CHANGE_IN_REVENUE

The company has had significant changes in its revenue.

WARNING

This company is placed on a warning list.
Example
"AUDITOR_NOTES"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

Gender

Values
Enum Value Description

FEMALE

Female

MALE

Male

OTHER

Other
Example
"FEMALE"

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
4

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

OwnershipRelationDetails

Fields
Field Name Description
share - Float
Example
{"share": 987.65}

PersonBulkPayloadResource

Description

Response for bulk adding persons to monitoring.

Fields
Field Name Description
failed - [PrivatePersonId!]!
allSuccessful - Boolean!
Example
{"failed": [PrivatePersonId], "allSuccessful": false}

PersonReviewTriggerEvent

Fields
Field Name Description
person - PrivatePersonId! The person for which the review was triggered.
id - ID! The ID of the review trigger event.
triggeredAt - DateTime! A timestamp of when the review was triggered.
statements - [ReviewTriggerStatementKind!]! The statements that make up the trigger. These are the things that have changed since the last review was performed.
Example
{
  "person": PrivatePersonId,
  "id": "4",
  "triggeredAt": "2007-12-03T10:15:30Z",
  "statements": ["BENEFICIAL_OWNERS_CHANGE"]
}

PersonReviewTriggerEventWhereInput

Description

Input to lookup person review trigger events by person ID and time interval.

Fields
Input Field Description
person - PrivatePersonId!
from - DateTime
to - DateTime
Example
{
  "person": PrivatePersonId,
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z"
}

PersonSearchConnectionEdge

Fields
Field Name Description
node - PrivatePerson!
Example
{"node": PrivatePerson}

PersonSearchInput

Fields
Input Field Description
query - String! The query string to search for.
country - CountryCode!
gender - Gender
birthDate - Date
birthYear - Year
Example
{
  "query": "abc123",
  "country": "US",
  "gender": "FEMALE",
  "birthDate": "2007-12-03",
  "birthYear": Year
}

PrivatePerson

Description

A resource representing a private person.

Fields
Field Name Description
id - PrivatePersonId! The internal ID of this private person.
name - String! Person name.
gender - Gender The gender of the person.
birthDate - Date The birth date of the person.
birthYear - Year The birth year of the person.
address - [Address!]!
countries - [CountryContext!]!
identifiers - [EntityIdentifier!]!
pep - Boolean! Whether the person is a PEP or not.
sanctioned - Boolean! Whether the person is sanctioned or not.
relationships - EntityConnection!
Arguments
amsCount - Int! The number of adverse media event found on this private person. This is an approximation and the actual number may be lower, but never higher.
isMonitored - Boolean! Whether this private person is monitored or not.
flags - [FlagKind!]! Flagged events for related business persons.
Example
{
  "id": PrivatePersonId,
  "name": "abc123",
  "gender": "FEMALE",
  "birthDate": "2007-12-03",
  "birthYear": Year,
  "address": [Address],
  "countries": [CountryContext],
  "identifiers": [EntityIdentifier],
  "pep": false,
  "sanctioned": true,
  "relationships": EntityConnection,
  "amsCount": 123,
  "isMonitored": false,
  "flags": ["AUDITOR_NOTES"]
}

PrivatePersonCreateInput

Fields
Input Field Description
name - String!
nin - String!
country - CountryCode!
birthDate - Date
birthYear - Year
gender - Gender
address - [AddressInput!]!
citizenship - CountryCode
Example
{
  "name": "xyz789",
  "nin": "abc123",
  "country": "US",
  "birthDate": "2007-12-03",
  "birthYear": Year,
  "gender": "FEMALE",
  "address": [AddressInput],
  "citizenship": "US"
}

PrivatePersonId

Description

A generic identifier for private person. To obtain this ID, you must first for search PrivatePerson. These IDs are issued by Strise and unique within the Strise graph.

Example
PrivatePersonId

PrivatePersonIdentifierSearchInput

Description

Input to lookup private persons by their identifiers, such as their personal number.

Fields
Input Field Description
identifiers - [String!]!
country - CountryCode!
Example
{
  "identifiers": ["xyz789"],
  "country": "US"
}

PrivatePersonPayload

Description

The payload for a PrivatePerson mutation.

Fields
Field Name Description
success - Boolean!
person - PrivatePerson
Example
{"success": true, "person": PrivatePerson}

PrivatePersonSearchConnection

Fields
Field Name Description
edges - [PersonSearchConnectionEdge!]!
Example
{"edges": [PersonSearchConnectionEdge]}

PrivatePersonUpdateInput

Fields
Input Field Description
id - PrivatePersonId!
name - String!
nin - String!
country - CountryCode!
birthDate - Date
birthYear - Year
gender - Gender
address - [AddressInput!]!
citizenship - CountryCode
Example
{
  "id": PrivatePersonId,
  "name": "xyz789",
  "nin": "xyz789",
  "country": "US",
  "birthDate": "2007-12-03",
  "birthYear": Year,
  "gender": "FEMALE",
  "address": [AddressInput],
  "citizenship": "US"
}

PrivatePersonWhereInput

Fields
Input Field Description
id - PrivatePersonId!
Example
{"id": PrivatePersonId}

PrivatePersonsWhereInput

Fields
Input Field Description
ids - [PrivatePersonId!]!
Example
{"ids": [PrivatePersonId]}

RelationshipDetails

Description

A union type of available relationship details.

Types
Union Types

OwnershipRelationDetails

Example
OwnershipRelationDetails

Review

Fields
Field Name Description
id - ID!
pdf - Base64EncodedFile
Example
{
  "id": "4",
  "pdf": Base64EncodedFile
}

ReviewContext

Fields
Field Name Description
triggerId - ReviewTriggerId! Unique identifier for the firing review trigger.
relation - EntityConnection The related entity that satisfied the trigger. If this is null then the trigger was satisfied by the entity itself.
explanations - [String!]! Text describing all of the fulfilled conditions.
entity - ReviewEntity! The reviewed entity.
Example
{
  "triggerId": ReviewTriggerId,
  "relation": EntityConnection,
  "explanations": ["abc123"],
  "entity": Company
}

ReviewEntity

Description

An entity that can be reviewed.

Example
Company

ReviewPayload

Fields
Field Name Description
success - Boolean!
risk - RiskClass!
id - ID Has a value only when the review is automatically completed, which is dependent on configured risk class settings.
context - ReviewContext
Example
{
  "success": true,
  "risk": "HIGH",
  "id": 4,
  "context": ReviewContext
}

ReviewTriggerEvent

Description

Interace for review trigger events.

Fields
Field Name Description
id - ID! The ID of the review trigger event.
triggeredAt - DateTime! A timestamp of when the review was triggered.
statements - [ReviewTriggerStatementKind!]! The statements that make up the trigger. These are the things that have changed since the last review was performed.
Possible Types
ReviewTriggerEvent Types

CompanyReviewTriggerEvent

PersonReviewTriggerEvent

Example
{
  "id": "4",
  "triggeredAt": "2007-12-03T10:15:30Z",
  "statements": ["BENEFICIAL_OWNERS_CHANGE"]
}

ReviewTriggerEventSearchConnection

Fields
Field Name Description
totalCount - Int!
edges - [ReviewTriggerEventSearchConnectionEdge!]!
Example
{
  "totalCount": 123,
  "edges": [ReviewTriggerEventSearchConnectionEdge]
}

ReviewTriggerEventSearchConnectionEdge

Fields
Field Name Description
node - ReviewTriggerEvent!
Example
{"node": ReviewTriggerEvent}

ReviewTriggerEventWhereInput

Description

Input to lookup review trigger events time interval.

Fields
Input Field Description
from - DateTime
to - DateTime
Example
{
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z"
}

ReviewTriggerId

Description

An identifier for a review trigger

Example
ReviewTriggerId

ReviewTriggerStatementKind

Values
Enum Value Description

BENEFICIAL_OWNERS_CHANGE

CREDIT_CHANGE

FINANCIALS_PUBLISHED

FLAG_PUBLISHED

PEP_CHANGE

RISK_ASSESSMENT_VALUE

ROLE_CHANGE

SANCTIONS_CHANGE

TIME_SINCE_LAST_REVIEW

Example
"BENEFICIAL_OWNERS_CHANGE"

ReviewWhereInput

Description

Input for querying a review.

Fields
Input Field Description
id - ID!
Example
{"id": 4}

RiskClass

Description

Risk class for an entity. Risk class is set automatically through review automation, or by an AML officer through the application.

Values
Enum Value Description

HIGH

LOW

MEDIUM

Example
"HIGH"

SizePageInfoInput

Description

Used for pagination.

Fields
Input Field Description
size - Int!
offset - Int
Example
{"size": 123, "offset": 123}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

Year

Description

A year in the ISO 8601 format (yyyy).

Example
Year