{"openapi":"3.1.0","info":{"title":"Apizie","version":"2.0.0","description":"One API key, one envelope, many public data sources."},"servers":[{"url":"https://zieapi.vercel.app"}],"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/security:authentiq/authorize":{"get":{"operationId":"security_authentiq_authorize","summary":"Authenticate a user","description":"GET /authorize","tags":["security"],"parameters":[{"name":"client_id","in":"query","required":true,"description":"A client ID obtained from the [Dashboard](https://dashboard.authentiq.com/).","schema":{"type":"string","description":"A client ID obtained from the [Dashboard](https://dashboard.authentiq.com/)."}},{"name":"response_type","in":"query","required":true,"description":"The OIDC response type to use for this authentication flow. Valid choices are `code`, `id_token`, `token`, `token id_token`, `code…","schema":{"type":"string","description":"The OIDC response type to use for this authentication flow. Valid choices are `code`, `id_token`, `token`, `token id_token`, `code…"}},{"name":"scope","in":"query","required":true,"description":"The space-separated identity claims to request from the end-user. Always include `openid` as a scope for compatibility with OIDC.","schema":{"type":"string","description":"The space-separated identity claims to request from the end-user. Always include `openid` as a scope for compatibility with OIDC."}},{"name":"redirect_uri","in":"query","required":true,"description":"The location to redirect to after (un)successful authentication. See OIDC for the parameters passed in the query string…","schema":{"type":"string","description":"The location to redirect to after (un)successful authentication. See OIDC for the parameters passed in the query string…"}},{"name":"state","in":"query","required":true,"description":"An opaque string that will be passed back to the redirect URL and therefore can be used to communicate client side state and prevent CSRF…","schema":{"type":"string","description":"An opaque string that will be passed back to the redirect URL and therefore can be used to communicate client side state and prevent CSRF…"}},{"name":"response_mode","in":"query","required":false,"description":"Whether to append parameters to the redirect URL in the query string (`query`) or as fragments (`fragment`). This option usually has a…","schema":{"type":"string","description":"Whether to append parameters to the redirect URL in the query string (`query`) or as fragments (`fragment`). This option usually has a…"}},{"name":"nonce","in":"query","required":false,"description":"An nonce provided by the client (and opaque to Authentiq Connect) that will be included in any ID Token generated for this session.…","schema":{"type":"string","description":"An nonce provided by the client (and opaque to Authentiq Connect) that will be included in any ID Token generated for this session.…"}},{"name":"display","in":"query","required":false,"description":"The authentication display mode, which can be one of `page`, `popup` or `modal`. Defaults to `page`.","schema":{"type":"string","default":"page","description":"The authentication display mode, which can be one of `page`, `popup` or `modal`. Defaults to `page`."}},{"name":"prompt","in":"query","required":false,"description":"Space-delimited, case sensitive list of ASCII string values that specifies whether the Authorization Server prompts the End-User for…","schema":{"type":"string","default":"login","description":"Space-delimited, case sensitive list of ASCII string values that specifies whether the Authorization Server prompts the End-User for…"}},{"name":"max_age","in":"query","required":false,"description":"Specifies the allowable elapsed time in seconds since the last time the end-user was actively authenticated.","schema":{"type":"integer","default":0,"description":"Specifies the allowable elapsed time in seconds since the last time the end-user was actively authenticated."}},{"name":"ui_locales","in":"query","required":false,"description":"Specifies the preferred language to use on the authorization page, as a space-separated list of BCP47 language tags. Ignored at the moment.","schema":{"type":"string","description":"Specifies the preferred language to use on the authorization page, as a space-separated list of BCP47 language tags. Ignored at the moment."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/security:authentiq/client":{"get":{"operationId":"security_authentiq_client","summary":"List clients","description":"GET /client","tags":["security"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/security:authentiq/create-client":{"post":{"operationId":"security_authentiq_create_client","summary":"Register a client","description":"POST /client","tags":["security"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["body"],"properties":{"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/security:authentiq/get-client":{"get":{"operationId":"security_authentiq_get_client","summary":"View a client","description":"GET /client/{client_id}","tags":["security"],"parameters":[{"name":"client_id","in":"query","required":true,"description":"Client identifier","schema":{"type":"string","description":"Client identifier"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/security:authentiq/update-client":{"post":{"operationId":"security_authentiq_update_client","summary":"Update a client","description":"PUT /client/{client_id}","tags":["security"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["client_id","body"],"properties":{"client_id":{"type":"string","description":"Client identifier"},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/security:authentiq/client-client-id":{"post":{"operationId":"security_authentiq_client_client_id","summary":"Delete a client","description":"DELETE /client/{client_id}","tags":["security"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["client_id"],"properties":{"client_id":{"type":"string","description":"Client identifier"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/security:authentiq/token":{"post":{"operationId":"security_authentiq_token","summary":"Obtain an ID Token","description":"POST /token","tags":["security"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["body"],"properties":{"body":{"type":"object","description":"Form fields as a JSON object"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/security:authentiq/user-info":{"get":{"operationId":"security_authentiq_user_info","summary":"Retrieve a user profile","description":"GET /userinfo","tags":["security"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/security:authentiq/authorize-iframe":{"get":{"operationId":"security_authentiq_authorize_iframe","summary":"Include a session iframe","description":"GET /{client_id}/iframe","tags":["security"],"parameters":[{"name":"client_id","in":"query","required":true,"description":"Client identifier","schema":{"type":"string","description":"Client identifier"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"RunEnvelope":{"type":"object","required":["project","data","timestamp"],"properties":{"project":{"type":"string","example":"dev-tools:hash"},"data":{},"timestamp":{"type":"string","format":"date-time"}}},"ErrorEnvelope":{"type":"object","properties":{"content":{},"message":{"type":"string"},"errors":{"type":"array","items":{}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}},"responses":{"Error":{"description":"Invalid key, plan gate, rate limit or upstream failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}