Import Api

POST
/v1/admin/projects/{project_id}/imported-apis

Not available yet. This operation is part of the published contract and answers 501 not_implemented until it is built. The request and response shapes below are final for this contract version.

Operators only. The operations start as pending_review.

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Bearer credential. API keys look like sqk_<geo>_<key_id>_<secret>: treat them as opaque and never put one in a browser. Older keys without the geo part stay valid until rotated. Find a geo's endpoints through GET /.well-known/sparq-discovery before sending a key.

Path Parameters

project_id*Project Id
Formatuuid

Header Parameters

Sparq-Workspace?string

For a person signed in to a console with several workspaces: the workspace this call is for, one of their memberships (listMyMemberships). Without it such a person gets workspace_required (400); a workspace they are not a member of is forbidden. It never grants anything, and other callers' credentials ignore it.

Formatuuid
Idempotency-Key?string

Makes a retry safe: the same key, route and body within 24 hours returns the stored response and the same result id. The same key with a different body or route is idempotency_conflict; while the first request runs, idempotency_in_progress.

Length8 <= length <= 128

Request Body

application/json
  1. body
name*Name

Lower-case name: a letter, then letters, digits, '_' or '-'. Max 63.

Match^[a-z][a-z0-9_-]{0,62}$
base_url*Base Url
Formaturi
Length1 <= length
document_url*Document Url

Where Sparq fetches the OpenAPI document.

Formaturi
Length1 <= length
operations*array<string>

operationIds to offer as tools.

Items1 <= items <= 200
auth*ToolAuth
Value in"delegated_user_token""service_credential""none"
credential_ref?|null

Response Body

Successful Response

application/json
  1. response
imported_api_id*Imported Api Id
Formatuuid
project_id*Project Id
Formatuuid
name*Name

Lower-case name: a letter, then letters, digits, '_' or '-'. Max 63.

Match^[a-z][a-z0-9_-]{0,62}$
base_url*Base Url
Formaturi
Length1 <= length
document_hash*Document Hash
status*ReviewStatus
Value in"pending_review""active""blocked"
review*|null
operations*array<>
created_at*Created At
Formatdate-time
Example Request
curl -X POST 'http://dev-sparq.centralindia.cloudapp.azure.com:8000/v1/admin/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/imported-apis' \  -H 'Content-Type: application/json' \  -d '{  "name": "string",  "base_url": "http://example.com",  "document_url": "http://example.com",  "operations": [    "string"  ],  "auth": "delegated_user_token"}'
Example Response
{  "imported_api_id": "8784f7aa-d748-459c-8fb0-77a0104ccf90",  "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",  "name": "string",  "base_url": "http://example.com",  "document_hash": "string",  "status": "pending_review",  "review": {    "decision": "approve",    "notes": "string",    "reviewer": "string",    "credential_id": "13c40afa-2996-4a0c-b2e9-68fba9462242",    "reviewed_at": "2019-08-24T14:15:22Z"  },  "operations": [    {      "operation_id": "string",      "method": "GET",      "path": "string",      "effect": "read",      "schema_hash": "string",      "drift": true    }  ],  "created_at": "2019-08-24T14:15:22Z"}