---
title: "POST /v1alpha1/apps/oasf"
method: POST
path: "/v1alpha1/apps/oasf"
tags: ["AppService"]
---

# POST /v1alpha1/apps/oasf

`POST /v1alpha1/apps/oasf`

## Request

- Base URL: `http://localhost:4000`
- URL: `http://localhost:4000/v1alpha1/apps/oasf`
- Auth: HTTP bearer and API key in header `x-id-api-key`

## Request body

- CreateOasfAppRequest
  - `schemaBase64` string: The OASF schema in a base64 encoded format

## Response `200`

OK

- CreateOasfAppResponse
  - `app` App: Identity Service App.
    - `id` string: A unique identifier for the App.
    - `name` string, required: A human-readable name for the App.
    - `description` string: A human-readable description for the App.
    - `type` 'APP_TYPE_UNSPECIFIED' | 'APP_TYPE_AGENT_A2A' | 'APP_TYPE_AGENT_OASF' | 'APP_TYPE_MCP_SERVER', enum, required: The type of the App.
    - `resolverMetadataId` string: The DID value
    - `apiKey` string: The API Key Secret for the App.
    - `status` 'APP_STATUS_UNSPECIFIED' | 'APP_STATUS_ACTIVE' | 'APP_STATUS_PENDING' | 'APP_STATUS_REVOKED', enum: The status of the App
    - `createdAt` string, date-time: CreatedAt records the timestamp of when the App was initially created
  - `badge` 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

## Changes

> 18 revisions in range; 7 not diffed.

- **2025-07-28** `63464ebf3f61`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/agntcy/apis/agntcy-identity-service-api/changes/v1alpha1/apps/oasf/post.md)

---

[API](https://skmtc.dev/agntcy/apis/agntcy-identity-service-api.md) - [All operations](https://skmtc.dev/agntcy/apis/agntcy-identity-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agntcy/apis/agntcy-identity-service-api/revisions/1dc8f8328648?raw)
