# Credentials

A `Credential` represents a verifiable credential which has been issued to the cloud agent via a [credential exchange](/guides/decentralized-identity/cloud-agent/cloud-agent-admin-api/aries-interop-profile-aip/credential-exchanges.md), and is currently held by the cloud agent. A `Credential` is a GraphQL union type, so must be resolved to either `AnoncredsCredential` or `W3CCredential`.

Note that credentials which have been *issued by* this cloud agent to a foreign agent are instead found on `AIPCredentialExchange.messages.issued`.

## How to use credentials

Held credentials are primarily used for presenting cryptographically verifiable claims in proof exchanges. See the section on [proof exchanges](/guides/decentralized-identity/cloud-agent/cloud-agent-admin-api/aries-interop-profile-aip/proof-exchanges.md) for more information.

## View credentials

View held credentials, with pagination and filtering options. Returns a `nextToken` which can be passed into the same query in order to fetch subsequent pages.

```graphql
query MyQuery {
  credentials(
    page: {
      nextToken: null
    }
    filter: {}
  ) {
    items {
      __typename
      ... on AnoncredsCredential {
        id
        attributes {
          name
          value
        }
        credDefId
        credDef {
          schemaId
        }
      }
      ... on W3CCredential {
        id
        credentialJson
      }
    }
    nextToken
  }
}
```

Alternatively, view a single credential, referenced by its unique ID.

```graphql
query MyQuery {
  credential(
    credentialId: "14eb376d-2b9c-4c30-b40f-ee3ec8250559"
  ) {
    __typename
    ... on AnoncredsCredential {
      id
      attributes {
        name
        value
      }
      credDefId
      credDef {
        schemaId
      }
    }
    ... on W3CCredential {
      id
      credentialJson
    }
  }
}
```

## Delete a credential

Delete a held credential.

```graphql
mutation MyMutation {
  deleteCredential(
    credentialId: "14eb376d-2b9c-4c30-b40f-ee3ec8250559"
  )
}
```


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sudoplatform.com/guides/decentralized-identity/cloud-agent/cloud-agent-admin-api/credentials.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
