AppAIGatewayDocs
API referenceAdmin applications

Create an application

POST
/v1/admin/apps

Send only name, config and an optional status. The gateway assigns the id — the name slugified plus a six-character random suffix — and returns it as app.id; it cannot be chosen, and it cannot change once the application exists. A body that still carries id is refused with 400. API-key applications receive a one-time plaintext initial key in the response.

Authorization

agw_identity_auth.session_token<token>

The console's session cookie. Admin requests from the console also send x-console-request: 1.

In: cookie

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/admin/apps" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "config": {      "authentication": {        "type": "apple_app_attest",        "end_user": {          "source": "issuer",          "issuer": {            "jwks_url": "http://example.com",            "issuer": "string",            "audience": "string",            "user_id_claim": "string",            "required_claims": [              {                "path": "string"              }            ],            "max_token_lifetime_seconds": 1          }        },        "app_attest": {          "team_id": "string",          "bundle_id": "string"        }      },      "routing": {        "providers": {          "mode": "all"        },        "model_rewrites": {          "property1": "string",          "property2": "string"        }      }    }  }'
{  "app": {    "revision": 1,    "id": "string",    "name": "string",    "config": {      "authentication": {        "type": "apple_app_attest",        "end_user": {          "source": "issuer",          "issuer": {            "jwks_url": "http://example.com",            "issuer": "string",            "audience": "string",            "user_id_claim": "string",            "token_header": "string",            "required_claims": [              {                "path": "string",                "contains": "string",                "equals": "string"              }            ],            "max_token_lifetime_seconds": 1,            "provider": "firebase",            "entitlement": "revenuecat"          }        },        "app_attest": {          "team_id": "string",          "bundle_id": "string",          "environments": [            "production"          ],          "verify_on": "every_request"        }      },      "routing": {        "providers": {          "mode": "all"        },        "model_rewrites": {          "property1": "string",          "property2": "string"        }      },      "limits": {},      "endpoints": {}    },    "status": "active",    "created_at": "string",    "updated_at": "string",    "warnings": [      {        "code": "string",        "message": "string",        "until": "string",        "docs_url": "string"      }    ]  },  "api_key": {    "id": "string",    "name": "string",    "key": "string",    "key_prefix": "string",    "created_at": "string"  }}