---
title: "POST /v1alpha1/apps/{appId}/badges"
method: POST
path: "/v1alpha1/apps/{appId}/badges"
tags: ["BadgeService"]
---

# POST /v1alpha1/apps/{appId}/badges

`POST /v1alpha1/apps/{appId}/badges`

Create a new Badge.

## Path parameters

- `appId` string, required

## Request body

- IssueBadgeRequest
  - `appId` string — App Id.
  - `a2a` IssueA2ABadgeRequest
    - `wellKnownUrl` string — The A2A well_known_url.
    - `schemaBase64` string — Or the MCP Schema in a base64 encoded format.
  - `mcp` IssueMcpBadgeRequest
    - `name` string — The MCP badge name.
    - `url` string — The MCP badge URL.
    - `schemaBase64` string — Or the MCP Schema in a base64 encoded format.
  - `oasf` IssueOASFBadgeRequest
    - `schemaBase64` string — The OASF schema in a base64 encoded format

## Response `200`

OK

- Badge
  - `verifiableCredential` VerifiableCredential — DataModel represents the W3C Verifiable Credential Data Model defined [here] [here]: https://www.w3.org/TR/vc-data-model/
    - `context` string[] — https://www.w3.org/TR/vc-data-model/#contexts
    - `type` string[] — https://www.w3.org/TR/vc-data-model/#dfn-type
    - `issuer` string — https://www.w3.org/TR/vc-data-model/#issuer
    - `credentialSubject` BadgeClaims — BadgeClaims represents the content of a Badge VC defined [here] [here]: https://spec.identity.agntcy.org/docs/vc/intro/
      - `id` string — The ID as defined [here] [here]: https://www.w3.org/TR/vc-data-model/#credential-subject
      - `badge` string — The content of the badge
    - `id` string — https://www.w3.org/TR/vc-data-model/#identifiers
    - `issuanceDate` string — https://www.w3.org/TR/vc-data-model/#issuance-date
    - `expirationDate` string — https://www.w3.org/TR/vc-data-model/#expiration
    - `credentialSchema` CredentialSchema[] — https://www.w3.org/TR/vc-data-model-2.0/#data-schemas
      - `type` string — Type specifies the type of the file
      - `id` string — The URL identifying the schema file
    - `credentialStatus` CredentialStatus[] — https://www.w3.org/TR/vc-data-model-2.0/#status
      - `id` string — The URL identifying the schema file
      - `type` string — Type specifies the type of the file
      - `createdAt` string, date-time — The creation date and time of the status
      - `purpose` 'CREDENTIAL_STATUS_PURPOSE_UNSPECIFIED' | 'CREDENTIAL_STATUS_PURPOSE_REVOCATION', enum — The value of the purpose for the status entry
    - `proof` Proof — A data integrity proof provides information about the proof mechanism, parameters required to verify that proof, and the proof value itself.
      - `type` string — The type of the proof
      - `proofPurpose` string — The proof purpose
      - `proofValue` string — The proof value
  - `appId` string

## Other responses

- `default` — Default error response

---

[API](https://skmtc.net/agntcy/apis/agntcy-identity-service-api.md) · [All operations](https://skmtc.net/agntcy/apis/agntcy-identity-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agntcy/agntcy-identity-service-api/revisions/1dc8f8328648/schema)
